- 建自己的异常类
public class BusinessRuntimeException extends RuntimeException {
private static final long serialVersionUID = 1L;
public BusinessRuntimeException(String msg, Throwable cause) {
super(msg, cause);
}
public BusinessRuntimeException(String msg) {
super(msg);
}
}
- 全局异常捕获类
@Slf4j
@ControllerAdvice
public class GlobalExceptionHandler {
/**
* 全局异常
* @param e
* @return
*/
@ExceptionHandler(value = Exception.class)
@ResponseBody
public ResultObject<?> exceptionHandler(Exception e) {
log.error("抛出全局异常", e);
if (e instanceof BusinessRuntimeException) {
BusinessRuntimeException businessRuntimeException = (BusinessRuntimeException)e;
return ResultObject.error(businessRuntimeException.getMessage());
}
return ResultObject.error(ErrorCode.SERVER_ERROR);
}
}