springMVC全局异常类

对于controller层出现的异常,我们可以专门写个ExceptionController类来管理

首先在别的controller层写个异常

@Controller
@RequestMapping("/admin")
public class AdminController {


    @RequestMapping("/testError")
    public String testError(){
        int a=7/0;
        return "suc";
    }

}

然后再写个ExceptionController来进行处理

package com.yy.controller;

@ControllerAdvice
//用于注解该控制器类为全局异常处理类
public class TestErrorController {

    @ExceptionHandler
    public String exceptionHand(Exception e){
        System.out.println(e.getMessage());
        return "error";
    }
}

这样,当其他controller层中的类发生异常后,将自动在ExceptionController里面寻找相对应的异常然后处理,(我们可以写多个ControllerAdvice来处理不同的exception)这里直接跳到exceptionHand()方法中处理(方法中可以记日志,打印异常信息等),最终跳到error.jsp界面

注意,全局异常类其实相当于一个切面一样,但是这个全局异常不能注释成service,所以不能放在aop层中,所以它还是放在controller层里




----------------------------------------------------------------------------------------------------------------------------------

当异常处理很简单时(不搞日志,只跳转之类的),我们可以直接在springMVC的配置文件中配置全局异常,所以这里不再贴代码,大家知道就好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值