C#NotFiniteNumberException不起作用

Ada*_*rny 2 c# floating-point exception

我希望我的程序在某个浮点变量达到无穷大时抛出异常,或者是Nan NotFiniteNumberException,它看起来像是一个解决方案,但是存在问题.这个

try
{
    Single x = 5;
    x = x / 0;
    x = x + 1;
}
catch (NotFiniteNumberException ex)
{
    //bla bla bla 
}
Run Code Online (Sandbox Code Playgroud)

不会抛出任何东西.

我知道IsNanIsInfinity方法,但这不是我想要的.

Hei*_*nzi 7

那是因为你的师不会抛出一个NotFiniteNumberException.它只会返回无穷大x.

NotFiniteNumberException文档:

NotFiniteNumberException可用于不支持浮点运算中的无穷大和非数字概念的编程语言.

C#支持无限大和浮点运算不是非数字,所以这个例外在这里不适用.您需要x在执行除法后手动检查值.