A:全局异常处理
定义一个异常处理类
注意:不要忘记交给spring管理–@Controller
//实现了HandlerExceptionResolver接口
@Controller
public class ExceptionHandlerResolver implements HandlerExceptionResolver{
@Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, Object object,
Exception exception) {
String message=exception.getMessage();
ModelAndView modelAndView=new ModelAndView();
modelAndView.addObject("message", message);
modelAndView.setViewName("/error.jsp");
return modelAndView;
}
}
B:同一个controller中的异常处理
//使用@ExceptionHandler 注解
@ExceptionHandler
public ModelAndView exception(Exception exception){
ModelAndView modelAndView=new ModelAndView();
modelAndView.addObject("message", exception.getMessage());
modelAndView.setViewName("/error.jsp");
return modelAndView;
}
@RequestMapping("/test6")
public String test6() throws Exception{
int i=5/0;
System.out.println("====");
return "redirect:/index.jsp";
}
本文介绍了在Spring框架中如何进行全局异常处理和同一控制器内的异常处理。通过实现HandlerExceptionResolver接口创建全局异常处理器,以及使用@ExceptionHandler注解处理特定控制器的异常。展示了具体的代码示例,包括异常捕获、错误信息传递和视图返回。
1767

被折叠的 条评论
为什么被折叠?



