java - 在 Enum 中保留可能的异常

标签 java enums

我正在处理一些工作流程,其中可能会引发许多异常。我听说我们可以将所有可能的异常保留在枚举中(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/

相关文章:

java - 数组越界异常保龄球示例

java - 已弃用 HttpGet、HttpClient、HttpResponse、HttpEntity、EntityUtils

swift - Swift 枚举的非详尽模式匹配

c# - 有没有办法在 C# 中动态生成枚举?

java - 如何使用 java 8 stream api 迭代枚举值

java - 构造函数和方法之间的区别

java - 如何在 Play JPA 中保存对象列表

java - 如何在空游戏中计算 FPS?

java - Java 枚举器语法

c - 枚举中的元素数