Ver código fonte

优化全局异常捕获。

lighter 4 anos atrás
pai
commit
bb58e1931e

+ 6 - 3
src/main/java/thyyxxk/webserver/config/exception/GlobalExceptionHandler.java

@@ -34,16 +34,19 @@ public class GlobalExceptionHandler {
     public ResultVo<String> exceptionHandler(NullPointerException e){
         e.printStackTrace();
         log.error("发生空指针异常:{}", e.getMessage());
-        return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER);
+        return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "错误原因:" + e.getCause().getMessage());
     }
 
     @ExceptionHandler(value = Exception.class)
     @ResponseBody
     public ResultVo<String> exceptionHandler(Exception e){
         e.printStackTrace();
-        String message = e.getMessage();
+        String message = e.getCause().getMessage();
+        log.error("发生异常:{}", e.getMessage());
         if (message.contains("database")) {
-            message = "数据库连接出错,无法获取到数据库资源。请稍后再试。";
+            message = "数据库执行出错,请联系信息中心处理。错误原因:" + e.getCause().getMessage();
+        } else if (message.contains("JSON parse error")) {
+            message = "JSON转换发生异常,请检查参数。错误原因:" + e.getCause().getMessage();
         }
         return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, message);
     }