@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;
}
}
};
}
}