forked from plusone/plusone-commons
refactor(exception)!: 重构多场景异常相关代码
- `IExceptionType` 不继承自 `IExceptionFactory`,具体表示异常场景的枚举,可按需实现这两个接口 - 简化 `IMultiTypesException` 接口定义,不与 `IExceptionType` 强制绑定 - 修改相关文档与描述 通过以上修改,使表示异常场景的枚举可以与异常类分开定义,使不同的异常可以复用同一套场景枚举。不强制作为单一异常的工厂,在被不同的异常复用时,可以更灵活地定义不同的工厂方法。
This commit is contained in:
@@ -77,7 +77,7 @@ System.out.println(result); // Output: Return string
|
||||
```java
|
||||
public final class LoginException
|
||||
extends RuntimeException
|
||||
implements IMultiTypesException<LoginException, LoginException.Type, String> {
|
||||
implements IMultiTypesException<LoginException.Type> {
|
||||
private static final long serialVersionUID = 881293090625085616L;
|
||||
private final Type type;
|
||||
private LoginException(@Nonnull Type type, @Nonnull String message) {
|
||||
@@ -104,7 +104,7 @@ public final class LoginException
|
||||
|
||||
// ...
|
||||
|
||||
public enum Type implements IExceptionType<LoginException, String> {
|
||||
public enum Type implements IExceptionType<String>, IExceptionFactory<LoginException> {
|
||||
DEFAULT("00", "当前会话未登录"),
|
||||
NOT_TOKEN("10", "未提供token"),
|
||||
INVALID_TOKEN("20", "token无效"),
|
||||
|
Reference in New Issue
Block a user