Springboot异常处理

时间:2022-07-22
本文章向大家介绍Springboot异常处理,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Springboot异常处理

特定异常(404,500)

  1. 在resources/templates下面创建一个erro文件夹并创建404.html和500.html,springboot会自动根据错误类型返回resources/templates/error下面对应的html页面

自定义异常处理

  1. 创建异常监听器
/**
 * @author ChengSukai
 * @date 2020/7/4 5:33 下午
 * 定义拦截器,拦截所有的异常
 */
@ControllerAdvice
public class ControllerExceptionHandler {

    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    @ExceptionHandler(Exception.class)
    public ModelAndView exceptionHander(HttpServletRequest request,Exception e){
        logger.error("Request URL: {},Exception : {}",request.getRequestURI(),e);
        ModelAndView mv = new ModelAndView();
        mv.addObject("url",request.getRequestURI());
        mv.addObject("exception",e);
        mv.setViewName("error/error");
        return mv;
    }
  • ControllerAdvice表示该拦截器会拦截所有controller中爆出的异常
  • ExceptionHandler修饰的方法表示RuntimeExcepton以及其子类都会进入该错误处理逻辑中