Предположим, что у меня есть перечисление Color с двумя возможными значениями: RED и BLUE:
public enum Color {
RED,
BLUE
}
Теперь предположим, что у меня есть оператор switch для этого перечисления, где у меня есть код для обоих возможных значений:
Color color = getColor(); // a method which returns a value of enum "Color"
switch (color) {
case RED:
...
break;
case BLUE:
...
break;
default:
break;
}
Поскольку у меня есть блок кода для обоих возможных значений перечисления, каково использование default в приведенном выше коде?
Должен ли я делать исключение, если код каким-то образом достигает блока default, как это?
Color color = getColor(); // a method which returns a value of enum "Color"
switch (color) {
case RED:
...
break;
case BLUE:
...
break;
default:
throw new IllegalArgumentException("This should not have happened");
}