springboot里处理异常有五种方式,看第2、3种:
2、注解@ExceptionHander
java
@ExceptionHandler(value = {java.lang.NullPointerException.class})
public ModelAndView testExceptionHander(Exception e){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("exception",e);
modelAndView.setViewName("error");
return modelAndView;
}
java
@ExceptionHandler(value = {java.lang.ArithmeticException.class})
public ModelAndView testExceptionHander1(Exception e){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("exception",e);
modelAndView.setViewName("error");
return modelAndView;
}
3、注解@ControllerAdvice
java
@ControllerAdvice
public class ErrorController {
@ExceptionHandler(value = {java.lang.NullPointerException.class})
public ModelAndView testExceptionHander(Exception e){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("exception",e);
modelAndView.setViewName("error");
return modelAndView;
}
@ControllerAdvice
public class ErrorController {
@ExceptionHandler(value = {java.lang.NullPointerException.class})
public ModelAndView testExceptionHander(Exception e){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("exception",e);
modelAndView.setViewName("error");
return modelAndView;
}
java
@ExceptionHandler(value = {java.lang.ArithmeticException.class})
public ModelAndView testExceptionHander1(Exception e){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("exception",e);
modelAndView.setViewName("error");
return modelAndView;
}
}