SpringBoot 异步异常处理

@RestControllerAdvice 和 @ExceptionHandler 结合使用可以处理controller层返回的接口错误,但是平常工作中可能还有异步异常需要处理,那么编写一个全局异步异常的处理类就非常有意义啦

代码实现

我们可以通过重写异步AsyncUncaughtExceptionHandler类方法来达到异步异常处理功能

@Configuration
public class AsyncConfig implements AsyncConfigurer {
          
   
    @Override
    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
          
   
    //重写代码
        return new AsyncUncaughtExceptionHandler() {
          
   
            @Override
            public void handleUncaughtException(Throwable ex, Method method, Object... objects) {
          
   
                String name = ex.getClass().getName();
                //可替代异常处理
                if (name.contains("xxxException")) {
          
   
                //xxx自定义异常处理
                  xxxExceptione = (xxxException) ex;
                }
            }
        };
    }

}
经验分享 程序员 微信小程序 职场和发展