使用系统异常处理器
- 首先异常处理器是针对编译异常的。
- springmvc.xml配置
<!-- 定义一个全局的异常处理器,-->
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<!-- 指明默认的处理页面,针对系统异常-->
<property name="defaultErrorView" value="error.jsp"></property>
<!-- 这里配置自定义异常的处理方式-->
<property name="exceptionMappings">
<props >
<prop key="Test.MyException">error.jsp</prop>
</props>
</property>
</bean>
配好了之后在程序中抛出异常就行了
使用自定义异常处理器
public class MyExceptionHander implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
String msg = null;
if(e instanceof MyException)
{
msg = ((MyException) e).getMymessage();
}
else
{
msg = "系统发生了未知的错误,异常是系统异常类型";
}
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("message",msg);
modelAndView.setViewName("error.jsp");
return modelAndView;
}
}
继承自该接口即可,springxml配置
<bean class="Test.MyExceptionHander"></bean>