我正在处理一些工作流程,其中可能会引发许多异常。我听说我们可以将所有可能的异常保留在枚举中(Exception1、Exception2 ...)并使用它。我们如何使用 Java 中的枚举来做到这一点?
最佳答案
您可以添加异常类
enum EnumWithExceptions {
ENUM1(Exception1.class, Exception2.class),
ENUM2(Exception3.class);
private final Class<? extends Exception>[] exceptions;
private EnumWithExceptions(Class<? extends Exception>... exceptions) {
this.exceptions = exceptions;
}
public boolean matches(Exception e) {
for(Class<? extends Exception> e2: exceptions)
if (e2.isInstance(e)) return true;
return false;
}
}
<小时/>
} catch(Exception e){
if (ENUM1.matches(e)){
//do something
} else if(ENUM2.matches(e)) {
//do something
} else {
//do something
}
}
关于java - 在 Enum 中保留可能的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13958382/