标签:统一 mes lte res style 数据库 不可 https ogg
需要注意的是, ExceptionHandler 的优先级比 ControllerAdvice 高, 即 Controller 抛出的异常如果既可以让 ExceptionHandler 标注的方法处理, 又可以让 ControllerAdvice 标注的类中的方法处理, 则优先让 ExceptionHandler 标注的方法处理.
@RestController
@ControllerAdvice
public class GlobalExceptionHandler {
private Logger logger = LoggerFactory.getLogger("GlobalExceptionHandler");
@ExceptionHandler(value = BaseException.class)
@ResponseBody
public Object baseErrorHandler(HttpServletRequest req, Exception e) throws Exception {
logger.error("---BaseException Handler---Host {} invokes url {} ERROR: {}", req.getRemoteHost(), req.getRequestURL(), e.getMessage());
return "---BaseException Handler---:" + e.getMessage();
}
@ExceptionHandler(value = Exception.class)
@ResponseBody
public Object defaultErrorHandler(HttpServletRequest req, Exception ex) throws Exception {
logger.error("---DefaultException Handler---Host {} invokes url {} ERROR: {}", req.getRemoteHost(), req.getRequestURL(), ex.getMessage());
JSONObject json = new JSONObject();
json.put("errorMsg", ex.getMessage());
json.put("errorCode", HttpStatus.BAD_REQUEST);
return ResponseEntity.badRequest().body(json);
}
}
@RestController
public class DemoController {
private Logger logger = LoggerFactory.getLogger("GlobalExceptionHandler");
@RequestMapping("/ex1")
public Object throwBaseException() throws Exception {
throw new BaseException("This is BaseException.");
}
@RequestMapping("/ex2")
public Object throwMyException1() throws Exception {
throw new MyException1("This is MyException1.");
}
@RequestMapping("/ex3")
public Object throwMyException2() throws Exception {
throw new MyException2("This is MyException1.");
}
@RequestMapping("/ex4")
public Object throwIOException() throws Exception {
throw new IOException("This is IOException.");
}
@RequestMapping("/ex5")
public Object throwNullPointerException() throws Exception {
throw new NullPointerException("This is NullPointerException.");
}
}
SpringBoot RESTful 应用中的异常处理小结 [转]
标签:统一 mes lte res style 数据库 不可 https ogg
原文地址:https://www.cnblogs.com/tangdatou/p/12006927.html