小工具知识网

当前位置: 首页 > 行业知识 > springMVC自定义异常处理器

行业知识

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页面:

        抱歉,出错啦。。  

非常抱歉


动态内容

测试

------->

上一篇:暂未查询到网站备案信息进不去怎么回事儿

下一篇:化境下载指南,轻松获取游戏攻略,一键掌握游戏步骤!