当整数被零除时,我们会得到编译时错误,而在双精度浮点数的情况下,没有编译错误,但在运行时我们得到无穷大/NaN作为结果。有没有想法为什么整数和双精度浮点数在除以零异常时有不同的行为?
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
}