SpringBoot自定义异常处理

全局异常处理

@ControllerAdvice @RestController public class GlobalExceptionInterceptor {//Exception异常 @ExceptionHandler(value = https://www.it610.com/article/Exception.class) @ResponseBody public Result exceptionHandler(Exception e){ e.printStackTrace(); LogUtil.writeLog("error","log",e.getMessage()+e.getStackTrace()); Result result = Result.errorResult(); if (e.getClass().equals(HttpMediaTypeNotSupportedException.class)){ result.setCode(-981); result.setMsg("请求参数格式错误"); }else{ result.setCode(-998); result.setMsg("系统执行发生错误"); }return result; }//运行时异常 @ExceptionHandler(value = https://www.it610.com/article/RuntimeException.class) @ResponseBody public Result exceptionHandler(RuntimeException e){ e.printStackTrace(); LogUtil.writeLog("error","log",e.getMessage()+e.getStackTrace()); Result result = Result.errorResult(); result.setCode(-997); result.setMsg("系统运行发生错误"); return result; }}

全局404拦截
@Component public class ResponseStatusInterceptor implements HandlerInterceptor {@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if(response.getStatus()==404){ response.sendRedirect(request.getContextPath() + "/frame/error/404"); } return true; }}

    推荐阅读