温馨提示×

枚举在Java switch中如何处理异常

小樊
85
2024-09-12 05:30:36
栏目: 编程语言

在Java中,使用switch 语句处理枚举类型时,可以针对每个枚举值编写一个 case 分支

public enum Color {
    RED, GREEN, BLUE
}

public class EnumSwitchDemo {
    public static void main(String[] args) {
        Color color = Color.RED;

        try {
            switch (color) {
                case RED:
                    System.out.println("Color is red.");
                    break;
                case GREEN:
                    System.out.println("Color is green.");
                    break;
                case BLUE:
                    System.out.println("Color is blue.");
                    break;
                default:
                    throw new IllegalArgumentException("Invalid color value: " + color);
            }
        } catch (IllegalArgumentException e) {
            System.err.println("Error: " + e.getMessage());
        }
    }
}

在这个例子中,我们首先定义了一个名为 Color 的枚举类型,包含三个值:RED、GREEN 和 BLUE。然后,在 EnumSwitchDemo 类的 main 方法中,我们创建了一个 Color 类型的变量 color,并将其设置为 Color.RED

接下来,我们使用 try-catch 语句捕获可能抛出的异常。在 try 代码块中,我们使用 switch 语句处理 color 变量。对于每个枚举值,我们编写一个 case 分支并输出相应的消息。如果 color 变量的值不是有效的枚举值,我们在 default 分支中抛出一个 IllegalArgumentException 异常。

最后,在 catch 代码块中,我们捕获并处理异常,输出错误消息。

0