通过aop监控程序异常,全局异常捕获
定义全局异常处理器:
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;
//全局异常处理器(aop)
@ControllerAdvice // 1、定义通知
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class) // 2、定义处理异常(Exception处理所有)
@ResponseBody
public Map<String, Object> HandlerException(Exception exception) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("errorCode", "-1");
map.put("errorMsg", exception.toString());
return map;
}
}
异常测试:
@Controller
public class TestController {
@RequestMapping(value = "/show")
@ResponseBody
public String show() {
int a = 5 / 0;
return "show";
}
}
效果: