springboot基础篇——全局异常处理
基于之前的demo:springboot基础篇——基础入门
项目结构
一、创建全局异常处理类
代码:
package com.springboot.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(RuntimeException.class)
@ResponseBody
public Map<String, Object> exceptionHandler() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("errorCode", "000001");
map.put("errorMsg", "系統错误!");
return map;
}
}
关键代码说明:
[email protected]
标注在类上面的额一个 @Controller 类的一个辅助类,当请求出现异常,自动跳转到该类进行处理
[email protected](RuntimeException.class)
标注在异常处理方法上面,标注这个方法是处理什么类型的异常的。我这里是处理的,RuntimeException.class (运行时异常)
3.@ResponseBody
这里是说明,方法的返回值是json格式的数据(浏览器请求后展示效果)。如果想进行页面跳转,就使用参数 model 类或modelAndView
二、手动制造运行时异常
如图: