NotFiniteNumberException

NotFiniteNumberException

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

try
{
    Single x = 5;
    x = x / 0;
    x = x + 1;
}
catch (NotFiniteNumberException ex)
{
    //bla bla bla
}


不会扔任何东西。

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

最佳答案

那是因为您的部门不会抛出NotFiniteNumberException。它只会为x返回无穷大。

documentation of NotFiniteNumberException


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


C#的浮点运算支持无穷大和非数字运算,因此此异常不适用于此处。执行除法后,您需要手动检查x的值。

09-04 05:56