refactor: 增加AccessDenyException#NoStackTrace

This commit is contained in:
zhouhao
2024-05-22 16:15:52 +08:00
parent df0dce11a2
commit 2aed8345f3

View File

@@ -14,11 +14,11 @@ import java.util.Set;
* @since 3.0
*/
@ResponseStatus(HttpStatus.FORBIDDEN)
@Getter
public class AccessDenyException extends I18nSupportException {
private static final long serialVersionUID = -5135300127303801430L;
@Getter
private String code;
public AccessDenyException() {
@@ -42,7 +42,42 @@ public class AccessDenyException extends I18nSupportException {
}
public AccessDenyException(String message, String code, Throwable cause) {
super(message, cause,code);
super(message, cause, code);
this.code = code;
}
/**
* 不填充线程栈的异常,在一些对线程栈不敏感,且对异常不可控(如: 来自未认证请求产生的异常)的情况下不填充线程栈对性能有利。
*/
public static class NoStackTrace extends AccessDenyException {
public NoStackTrace() {
super();
}
public NoStackTrace(String message) {
super(message);
}
public NoStackTrace(String permission, Set<String> actions) {
super(permission, actions);
}
public NoStackTrace(String message, String code) {
super(message, code);
}
public NoStackTrace(String message, Throwable cause) {
super(message, cause);
}
public NoStackTrace(String message, String code, Throwable cause) {
super(message, code, cause);
}
@Override
public final synchronized Throwable fillInStackTrace() {
return this;
}
}
}