整数をゼロで除算するとコンパイル時エラーが発生しますが、doubleの場合はコンパイルエラーは発生しませんが、実行時に結果として無限大/NaNが発生します。ゼロ除算の例外に関して、intとdoubleの動作が異なる理由はありますか?
void Main()
{
int number = 20;
var result1 = number/0; // Divide by zero compile time exception
double doubleNumber = 20;
var result2 = doubleNumber/0.0; // no compile time error. Result is infinity or NaN
}