Spring MVC 的异常处理

@HandlerException
在spring中处理异常时,通常会在Controller中定义具体的异常处理方法,这个方法上使用@HandlerException注解进行描述.例如在指定Controller中定义异常处理方法:

@ExceptionHandler(value=Exception.class)
@ResponseBody
public String handleException(Exception e){
    System.out.println("局部异常处理");
    return e.getMessage();
}

当异常处理类中有很多异常处理的方式是相同的,还可以将这个异常处理方法提取到父类,从而实现方法的重用.
@ControllerAdvice
如果不想将共性的异常处理方法提取到父类,还可以在外部定义一个全局的异常处理类,这个类的使用@ControllerAdvice注解进行修饰,然后在这个类中定义具体的异常处理方法,这些方法再使用@HandlerExcpeiton进行修饰,例如:

@ControllerAdvice
public class AdviceExceptionHandler {
    @ExceptionHandler(Throwable.class)
    @ResponseBody
    public String handlerException(Throwable e){
        System.out.println("全局的异常处理");
        return e.getMessage();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值