美文网首页
SpringBoot实现全局异常捕获

SpringBoot实现全局异常捕获

作者: asing1elife | 来源:发表于2018-09-14 14:32 被阅读0次

SpringBoot 对异常可以进行全局捕获,按照如下操作即可

更多精彩

创建全局异常捕获器

  1. @RestControllerAdvice 是对 @RestController 的加强
    • 该注解是 Spring2.3 之后提供的新功能,主要用于对原生 Controller 做一些低侵入性的增加辅助
    • 被该注解标注的类,其中的方法会被应用到 @RestController
    • 作用与 @RestController 中被标注 @RequestMapping 的方法
  2. @ExceptionHandler 是自定义错误处理器,使用时可以注明具体需要处理的错误类型
    • 一般需要标注默认异常和自定义异常即可
  3. 该错误捕获方式是将所有错误向上一直抛出至 Spring 容器,由 Spring 自行处理
    • 所以如果在之前进行了 try-catch 操作,会导致 Spring 无法捕获到该异常
@RestControllerAdvice
public class GlobalExceptionHandler {
    public Logger log = LoggerFactory.getLogger(getClass());

    @ExceptionHandler(TSharkException.class)
    public ResponseData handleTSharkException(TSharkException e) {
        log.error(e.getMessage());

        ResponseData responseData = new ResponseData();
        responseData.setError(e.getMessage());

        return responseData;
    }

    @ExceptionHandler(Exception.class)
    public ResponseData handleException(Exception e) {
        log.error(e.getMessage());

        String exceptionMessage = "";

        ResponseData responseData = new ResponseData();

        if (e.getMessage().contains("rollback")) {
            exceptionMessage = "数据已被关联或使用,无法删除!";
        }

        responseData.setError(exceptionMessage);

        return responseData;
    }

}

相关文章

  • SpringBoot实现全局异常捕获

    SpringBoot 对异常可以进行全局捕获,按照如下操作即可 更多精彩 更多技术博客,请移步 asing1eli...

  • SpringBoot全局异常捕获

    使用@ControllerAdvice注解,将Controller中未使用try-catch捕获异常的,进行统一处...

  • springboot全局异常捕获

    依赖spring3.2提供的新注解@ControllerAdvice,从名字上可以看出大体意思是控制器增强。原理是...

  • SpringBoot全局异常捕获

    上一篇 << >> SpringBoot的项目已经对有一定的异常处理了,但是对于我们开发者而言可能就不太合适了,因...

  • Springboot异常处理的五种方式

    SpringBoot 框架异常处理有五种处理方式,从范围来说包括有全局异常捕获处理方式和局部异常捕获处理方式,接下...

  • springboot 异常捕获和处理

    springboot 异常捕获和处理 异常捕获处理

  • springboot 全局捕获异常无法捕获Filter中异常

    1、背景说明 小程序项目中,使用Filter对用户身份认证,用户未登录时,抛出系统自定义异常,系统中有使用全局捕获...

  • 综合技术

    1.全局捕获异常可以自己创建crashHandler实现Thread.UncaughtExceptionHandl...

  • python3.7异常小记

    首先上示例代码: 这段代码包含了,异常分支类型捕获,无异常捕获,有无异常都会捕获的执行逻辑。 捕获全局异常 对入口...

  • 全局异常捕获

    1. 创建MyApplication extends MultiDexApplication 在oncreate初...

网友评论

      本文标题:SpringBoot实现全局异常捕获

      本文链接:https://www.haomeiwen.com/subject/eqeogftx.html