ここの列挙に関するセクションの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ステートメント)はどこにもありませんでした。
この種の「デフォルトの場合は例外をスローする」構文糖衣を列挙型定義の外で使用できますか?特別な名前はありますか?これは、「リストにないものはすべて例外をスローする」というこの動作をショートカットするための良い/悪い習慣と見なされますか?