瀏覽代碼

优化全局异常捕获。

lighter 4 年之前
父節點
當前提交
bb58e1931e
共有 1 個文件被更改,包括 6 次插入3 次删除
  1. 6 3
      src/main/java/thyyxxk/webserver/config/exception/GlobalExceptionHandler.java

+ 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);
     }