枚舉在Java switch中如何處理異常

小樊
85
2024-09-12 05:30:36

在Java中,使用switch 語(yǔ)句處理枚舉類型時(shí),可以針對(duì)每個(gè)枚舉值編寫一個(gè) 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());
        }
    }
}

在這個(gè)例子中,我們首先定義了一個(gè)名為 Color 的枚舉類型,包含三個(gè)值:RED、GREEN 和 BLUE。然后,在 EnumSwitchDemo 類的 main 方法中,我們創(chuàng)建了一個(gè) Color 類型的變量 color,并將其設(shè)置為 Color.RED

接下來(lái),我們使用 try-catch 語(yǔ)句捕獲可能拋出的異常。在 try 代碼塊中,我們使用 switch 語(yǔ)句處理 color 變量。對(duì)于每個(gè)枚舉值,我們編寫一個(gè) case 分支并輸出相應(yīng)的消息。如果 color 變量的值不是有效的枚舉值,我們?cè)?default 分支中拋出一個(gè) IllegalArgumentException 異常。

最后,在 catch 代碼塊中,我們捕獲并處理異常,輸出錯(cuò)誤消息。

0