/**
@author gczjt
@date全局异常处理器
*/
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandlerResolver {/**
- 全局异常.
- @param e the e
- @return R
*/
@ExceptionHandler(Exception.class)
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public R handleGlobalException(Exception e) {
log.error(“全局异常信息 ex={}”, e.getMessage(), e);
return R.failed(e.getLocalizedMessage());
}
Springboot 提供了一个 @RestControllerAdvice 注解以及 @ExceptionHandler 注解,前者是用来开启全局的异常捕获,后者则是说明捕获哪些异常,对那些异常进行处理。
① gczjt 提供的全局异常处理位于 gczjt-common-sentinel 模块
② @ConditionalOnExpression 限制了 gczjt 的全局异常处理只会对 OAuth 2.0 的资源服务器有效
③ @ExceptionHandler 可以捕获具体的异常,进行相关的格式化处理
④ 业务异常交由 sentinel 记录 Tracer.trace(e); 这个非常重要,作为熔断等的重要指标项
文档更新时间: 2021-08-10 17:00 作者:admin