springboot自定义异常
时间: 2023-05-22 10:02:56 浏览: 145
在 Spring Boot 中,如果需要自定义异常处理,可以通过使用 @ControllerAdvice 和 @ExceptionHandler 注解来实现。首先需要创建一个全局异常处理器,使用 @ControllerAdvice 注解标注该类,然后在该类中添加一个 @ExceptionHandler 注解的方法来处理异常。例如:
@ControllerAdvice
public class CustomExceptionHandler {
@ExceptionHandler(Exception.class)
public ModelAndView handleException(HttpServletRequest request, Exception ex){
ModelAndView mv = new ModelAndView();
mv.addObject("exception", ex);
mv.addObject("url", request.getRequestURI());
mv.setViewName("error");
return mv;
}
}
在上面的代码中,我们使用 @ExceptionHandler 注解来处理 Exception 类的异常,然后将异常信息和请求 URL 添加到 ModelAndView 中,并返回一个名为 "error" 的视图。这样做可以让我们在出现异常时展示一个统一的错误页面。
另外,还可以针对不同的异常类型进行单独的处理,例如:
@ExceptionHandler(BusinessException.class)
public ModelAndView handleBusinessException(HttpServletRequest request, BusinessException ex){
ModelAndView mv = new ModelAndView();
mv.addObject("exception", ex);
mv.addObject("url", request.getRequestURI());
mv.setViewName("business_error");
return mv;
}
在上面的代码中,我们使用 @ExceptionHandler 注解来处理 BusinessException 类的异常,并将异常信息和请求 URL 添加到 ModelAndView 中,然后返回一个名为 "business_error" 的视图。这样做可以让我们根据异常类型来展示不同的错误页面。
阅读全文