异常处理的两种方式(创建全局异常处理器&自定义异常)

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 在全局异常处理器编码配置,如果异常属于自定义异常,则抛出自定义异常信息,否则抛出原异常。更加灵活。

 

 

posted @   IslandZzzz  阅读(2062)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示