私はこの簡単なコードを持っています:
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
。