自定义异常处理

自定义异常:
----------------------------------------------
//使用方法
throw new AppException("token过期了");
----------------------------------------------
//AppException.java
package app;
public class AppException extends RuntimeException {
    private static final long serialVersionUID = 1L;
    public AppException() {
        super();
    }
    public AppException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
    }
    public AppException(String message, Throwable cause) {
        super(message, cause);
    }
    public AppException(String message) {
        super(message);
    }
    public AppException(Throwable cause) {
        super(cause);
    }
}
----------------------------------------------
//ExceptionInterceptor.java
package app;
import com.jfinal.aop.Interceptor;
import com.jfinal.aop.Invocation;
public class ExceptionInterceptor implements Interceptor {
    @Override
    public void intercept(Invocation inv) {
        try {
            inv.invoke();
        } catch (Exception e) {
            if (e instanceof AppException) {
                inv.getController().renderJson(Ret.fail(e.getMessage()));
            } else {
                throw e;
            }
        }
    }
}
----------------------------------------------
//JFinalConfig
@Override
public void configInterceptor(Interceptors me) {
    me.add(new ExceptionInterceptor());
}
----------------------------------------------


评论区

北流家园网

2022-03-18 08:50

格式有点乱,能排版下吗

fangjunai

2022-03-18 10:56

不是我不想排版哦. 只是这个后台编辑器实在太难用了. 代码文字大小多不能设置的. 从其他地方排版后,复制过来,也不行. 实在排不起来.

热门分享

扫码入社