行业知识
springMVC自定义异常处理器
2026-11-14 05:10:17
来源:互联网转载
���录
使用原因
优点
实现
自定义一个异常
异常处理
测试
使用原因
系统中会有各种各样的,意料之中和意料之外的结果,我们并不能做到完全针对每个异常时刻做出针对性的处理。这时就可以使用异常处理器。
优点
实现
自定义一个异常
public class MyException extends Exception{ private String msg; @Override public String getMessage() { return msg; } public MyException(String message) { this.msg = message; } } msg就是异常的一个内容提示。
重写一个getMessage()方法和构造方法
异常处理
package com.soft.component;import com.soft.exc.MyException;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ExceptionHandler implements HandlerExceptionResolver { public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) { //只要当前系统出现任何异常(自定义的,非自定义的)都会被传入当前的异常处理器的Exception //所以就可以当系统出现错误,都会通过一个错误页面进行处理 MyException myException = null; if(e instanceof MyException){ //如果当前进来的异常就是我们自定义的MyException异常,就直接打印我们自定义的异常中的内容 myException = (MyException)e; }else { //如果是其他异常进来,比如数学异常,空指针异常,越界异常等等。。 // 就重新new一个自定义异常 myException = new MyException("其他异常跳转,正在加紧修复中。。。"); } //将异常信息通过ModeAndView传给前端页面 ModelAndView mv = new ModelAndView(); mv.addObject("msg",myException.getMessage()); mv.setViewName("500"); return mv; }}
500页面:
抱歉,出错啦。。非常抱歉
动态内容
测试
------->