次のステートメントがある場合:
return this.revision.HasValue ? this.revision : throw new InvalidOperationException();
スローが通常の流れを壊しているのでコンパイルされると思っていましたが、値を返さなくても問題はありませんが、ビルドされません。
このステートメントを正しくする方法はありますか、またはなぜこれが許可されていないのですか?
ありがとう。
編集: this.revision は int ですか? メソッドは int を返します。
編集2:この方法がある場合
public int Test()
{
throw new Exception();
}
コンパイラーは値を返さないことについて不平を言いません。私はインラインの場合に同じことを期待していました...少なくとも、メソッドで既に行われているので、それができることを知っています。