なぜC#で例Aは有効でコンパイル可能であり、例Bはコンパイルされないのに、ラップするだけなのですか?
A
int val = 0;
val = val + Int32.MaxValue +2;
また
int val = Int32.MaxValue;
val++;
B
int val = 0;
val = 2147483647 + 1;
また
int val = 0;
int val = Int32.MaxValue + 1;
構成でcheckedメソッド、ブロック、または属性を使用して明示的にチェックしない限り、デフォルトでは算術例外がチェックされないことをデフォルトで知っています。私の質問は、算術例外がどのように発生するかよりもコンパイラに関連しています。