SpringMvc全局异常处理器配置

为什么需要全局异常处理器?

在程序开发中,我们的程序无法避免的会碰到各种异常情况,配置全局异常处理可以方便开发人员编写和管理异常处理的代码。

Springmvc的全局异常处理配置Demo

第一步:自定义异常类如CustomException类继承Exception类

public class CustomException extends Exception{

    private String message;

    public CustomException(String message){
        this.message = message;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

第二步:编写异常处理类,需要实现HanlderExceptionResolver接口

public class CustomExceptionResolver implements HandlerExceptionResolver{

    @Override
    public ModelAndView resolveException(HttpServletRequest request,
            HttpServletResponse response, Object handler, Exception ex) {
        // TODO Auto-generated method stub
        CustomException customException = null;
        if(ex instanceof CustomException){
            customException = (CustomException)ex;
        }else{
            customException = new CustomException("未知错误");
        }
        String message = customException.getMessage();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("message",message);
        modelAndView.setViewName("fail");
        return modelAndView;
    }
}

第三步:在spring的配置文件中注册全局异常处理:

<!-- 配置全局异常处理器 ,只要实现了HandlerExceptionResolver接口的类就是全局异常处理器-->
    <bean class="com.readboy.ssm.exception.CustomExceptionResolver" />

在程序中使用异常处理器:

在代码需要抛出异常的地方使用如throw new CustomException("该字段不能为空");即可抛出异常
一般来说,与业务功能相关的的异常,在Service中抛出,如增删改查
与业务功能无关的异常,在Controller中抛出,如页面某个输入框的输入不能为空

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值