我在此处的枚举部分的 Java 语言规范中注意到以下内容:link
switch(this) {
case PLUS: return x + y;
case MINUS: return x - y;
case TIMES: return x * y;
case DIVIDE: return x / y;
}
throw new AssertionError("Unknown op: " + this);
但是,查看 switch 语句定义部分,我在任何地方都没有注意到这种特殊的语法(相关的 throw 语句)。
我可以在枚举定义之外使用这种“默认情况下抛出异常”语法糖吗?它有什么特别的名字吗?对于缩短“列表中没有的任何内容都会引发异常”的这种行为,这是否被认为是一种好/坏的做法?