Spring中的 全局异常处理 局部异常处理

Spring全局处理开启方式

编写Java类实现HandlerExceptionResolver 接口 需要打上标注 或者在配置文件中定义当前Bean组件

实现接口重写方法 返回ModelAndView


@Controller
public class TestException implements HandlerExceptionResolver {

	@Override
	public ModelAndView resolveException(HttpServletRequest req, HttpServletResponse rep, Object arg2,
			Exception e) {
		ModelAndView mv = new ModelAndView();
		if(e instanceof RuntimeException){
			mv.setViewName("res/error1");
		}else{
			mv.setViewName("res/error2");
		}
		return mv;
	}
}

局部处理异常

注意局部处理异常只包括当前控制器内出现异常才会走局部异常如果是调用的 B方法出现的异常不会走局部异常

只需要在殿前控制器中 编写一个方法 标注@ExceptionHandler 就会走该方法的异常处理 优先局部异常

@RequestMapping("/error.do")
	public String error(){
		throw new RuntimeException("局部异常处理");
	}
	
	
	@ExceptionHandler
    public  String  processError(Exception e) {
		System.out.println(e.getMessage());
    	return  "res/error3";
    }	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值