我有这段简单的代码:
public static int GetInt(int number)
{
int[] ints = new int[]{ 3, 7, 9, int.MaxValue };
foreach (int i in ints)
if (number <= i)
return i;
return int.MaxValue; //this should be unreachable code since the last int is int.MaxValue and number <= int.MaxValue is allways true so the above code will allways return
}
问题是编译器说不是每个执行路径都返回一个值。所以我必须编写永远无法达到的代码。我的问题是,在这种情况下我该怎么办?我应该返回一些默认值还是应该抛出异常。另外,如果我想抛出异常,什么异常适合抛出?我没有找到类似的东西UnreachableCodeException
。