使用原因
如果不加以异常处理,错误信息肯定会抛在浏览器页面上,这样很不友好,所以必须进行异常处理。
异常处理思路
系统的dao、service、controller出现都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理,如下图:
创建异常处理器
@Component
public class GlobleExceptionResolver implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
/*
* 1.发信息
* 2.设置全局错误页面
* 3.把错误信息传递到错误页面
* */
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("exception");
modelAndView.addObject("msg", e.getMessage());
return modelAndView;
}
}
exception.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
程序出错了:${msg}<br>
出bug了,程序员疯了
</body>
</html>
测试结果