异常处理的两种方式(创建全局异常处理器&自定义异常)
1 创建全局异常处理器
实现HandlerExceptionResolve接口
package com.springmvc01; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; /** * 全局异常处理器 * */ public class CustomerExceptionHandler implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception exception) { ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("msg", "系统发生异常,请联系管理员"); modelAndView.setViewName("hello"); return modelAndView; } }
在SpringMVC里面配置异常处理器
2 自定义异常
1 创建MyException类继承Exception
2 在Controller层相应的方法里面抛出异常,throw new MyException("xxx");
3 在全局异常处理器编码配置,如果异常属于自定义异常,则抛出自定义异常信息,否则抛出原异常。更加灵活。