重写业务异常,去除打印堆栈错误信息的功能
baseException作为基础异常使用
public class BaseException extends RuntimeException { private static final long serialVersionUID = 1L; /** * 所属模块 */ private String module; /** * 错误码 */ private String code; /** * 错误码对应的参数 */ private Object[] args; /** * 错误消息 */ private String defaultMessage; public BaseException(String module, String code, Object[] args, String defaultMessage) { this.module = module; this.code = code; this.args = args; this.defaultMessage = defaultMessage; } public BaseException(String module, String code, Object[] args) { this(module, code, args, null); } public BaseException(String module, String defaultMessage) { this(module, null, null, defaultMessage); } public BaseException(String code, Object[] args) { this(null, code, args, null); } public BaseException(String defaultMessage) { this(null, null, null, defaultMessage); } @Override public String getMessage() { String message = null; if (!StringUtils.isEmpty(code)) { //去掉国际化 // message = MessageUtils.message(code, args); message = code; } if (message == null) { message = defaultMessage; } return message; } public String getModule() { return module; } public String getCode() { return code; } public Object[] getArgs() { return args; } public String getDefaultMessage() { return defaultMessage; } }
业务异常
public class AppServiceException extends BaseException { public AppServiceException(String code, Object[] args) { super("app-service",code, args); } }
全局异常
/** * 全局异常处理器 * * @author zs */ @RestControllerAdvice public class GlobalExceptionHandler { /** * AppServiceException */ @ExceptionHandler(AppServiceException.class) public AjaxResult handleAppServiceException(Exception e, HttpServletRequest request) { return AjaxResult.error(e.getMessage()); } }

浙公网安备 33010602011771号