SpringMVC框架异常处理器

系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。

自定义异常类:

//自定义异常类
	@RequestMapping("/list4")
	public String list3(Model m){
		if(true)
			throw new RuntimeException("有错误!!!");
		return "list1";
	}

自定义异常处理器:

//自定义异常处理器
@Component
public class MyExceptionHandler implements HandlerExceptionResolver {

	@Override
	public ModelAndView resolveException(HttpServletRequest request,
			HttpServletResponse response, Object asource, Exception e) {
		// TODO Auto-generated method stub
		ModelAndView mvc = new ModelAndView();
		if(e instanceof RuntimeException){
			mvc.setViewName("error");  //显示到jsp页面上
			mvc.addObject("ERROR",e);   //键值对
		}else{
			
		}
		return mvc;
	}

}

当没有异常处理器时,只会执行RuntimeException("有错误!!!");报出异常。

当有异常处理器时,遇到RuntimeException("有错误!!!");就会交给Spring框架的异常处理器来处理,所以异常处理器里的代码也会执行。所以可以将异常处理写到页面上。

以前异常处理需要在配置文件里进行配置。现在不用在配置文件里配置了。直接写好异常类和异常处理器就可以了运行了。

猜你喜欢

转载自blog.csdn.net/zxl1148377834/article/details/82878372