をスローしたら、コードをどのように維持するのか興味がありますSystem.ComponentModel.InvalidEnumArgumentException。
基本的に、次のような switch ステートメントがあります。
switch (enumValue)
{
case MyEnum.Value1:
break;
case MyEnum.Value2:
break;
default:
throw new InvalidEnumArgumentException();
}
将来、さらに値を追加することにした場合はどうすればよいでしょうか?MyEnumたとえば、Value3and Value4? それは、誤解を招く例外をスローしてしまうことを意味します。どうすればこれを防ぐことができますか?
投げる前に反射を使用する必要がありますか? この場合、どの例外をスローする必要がありますか? 提案を探しています。
数分前にこの例外を発見したので、間違った文脈でこれを見ているのかもしれません。この例外は、特定の列挙型引数がサポートされていない場合 (サポートされていない場合) にスローされValue3ますValue4か?