lyhzzz 1 jaar geleden
bovenliggende
commit
e1175412ab
1 gewijzigde bestanden met toevoegingen van 14 en 3 verwijderingen
  1. 14 3
      src/main/java/com/fdkankan/manage/exception/GlobalExceptionHandler.java

+ 14 - 3
src/main/java/com/fdkankan/manage/exception/GlobalExceptionHandler.java

@@ -3,6 +3,7 @@ package com.fdkankan.manage.exception;
 import com.fdkankan.manage.common.ResultCode;
 import com.fdkankan.manage.common.ResultData;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.dao.DataIntegrityViolationException;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
@@ -21,9 +22,6 @@ public class GlobalExceptionHandler {
     @ExceptionHandler(value = Exception.class)
     public ResultData exceptionHandler(Exception e) throws Exception {
         log.error("服务错误:", e);
-        if(e.getMessage().contains("too long")){
-            throw new BusinessException(ResultCode.DATA_TOO_LONG);
-        }
         return ResultData.error( 500, e.getCause().getMessage());
     }
 
@@ -36,4 +34,17 @@ public class GlobalExceptionHandler {
         log.info("业务异常code:{},message:{}", e.getCode(), e.getMessage());
         return ResultData.error(e.getCode(), e.getMessage());
     }
+
+    /**
+     * 处理业务异常
+     */
+    @ResponseBody
+    @ExceptionHandler(value = DataIntegrityViolationException.class)
+    public ResultData DataIntegrityViolationExceptionHandler(DataIntegrityViolationException e) {
+        log.error("mysql服务错误:", e);
+        if(e.getCause().getMessage().contains("Data too long")){
+            return ResultData.error(ResultCode.DATA_TOO_LONG.code(),ResultCode.DATA_TOO_LONG.message());
+        }
+        return ResultData.error( 500, e.getCause().getMessage());
+    }
 }