Explorar el Código

全局异常拦截器

skyfffire hace 3 años
padre
commit
b3c18d937c

+ 3 - 1
src/main/java/common/config/WebConfig.java

@@ -6,6 +6,7 @@ import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
 import com.jfinal.plugin.druid.DruidPlugin;
 import com.jfinal.server.undertow.UndertowServer;
 import com.jfinal.template.Engine;
+import common.interceptor.ExceptionInterceptor;
 import common.model.EthMevFtm;
 import common.utils.config.MyPropKit;
 import modules.ethmev.EthMevController;
@@ -74,7 +75,8 @@ public class WebConfig extends JFinalConfig {
 
     @Override
     public void configInterceptor(Interceptors interceptors) {
-
+        // 配置全局异常拦截器
+        interceptors.addGlobalActionInterceptor(new ExceptionInterceptor());
     }
 
     @Override

+ 20 - 0
src/main/java/common/interceptor/ExceptionInterceptor.java

@@ -0,0 +1,20 @@
+package common.interceptor;
+
+import com.jfinal.aop.Interceptor;
+import com.jfinal.aop.Invocation;
+import com.jfinal.core.Controller;
+import common.utils.http.MyRet;
+
+public class ExceptionInterceptor implements Interceptor {
+    @Override
+    public void intercept(Invocation inv) {
+        try {
+            inv.invoke();
+        } catch (Exception e) {
+            e.printStackTrace();
+
+            Controller c = inv.getController();
+            c.renderJson(MyRet.create().setFail().setMsg(e.getMessage()));
+        }
+    }
+}