处理意外枚举值的首选方法是什么?
假设我们有一个接受枚举值的方法。此方法检查该值是否有效后,它将超过可能的值。所以问题是,在验证值范围后,处理意外值的首选方法是什么?switch
例如:
enum Mood { Happy, Sad }
public void PrintMood(Mood mood)
{
if (!Enum.IsDefined(typeof(Mood), mood))
{
throw new ArgumentOutOfRangeException("mood");
}
switch (mood)
{
case Happy: Console.WriteLine("I am happy"); break;
case Sad: Console.WriteLine("I am sad"); break;
default: // what should we do here?
}
处理案件的首选方法是什么?default
- 发表评论 喜欢
// can never happen
-
Debug.Fail()
(或Debug.Assert(false)
) -
throw new NotImplementedException()
(或任何其他例外情况) - 其他一些我没有想到的方法