首先看段代码:
doublex,y,z;
x=1;
y=0;
try

{
z=x/y;
Console.WriteLine(z);
}
catch(Exceptione)

{
Console.WriteLine(e.Message);
}
Console.ReadLine();
你认为会输出什么?“被零除”错误?对,但是对于int类型。
开始我也是这么想。后来看到MSDN是这样定义的:
浮点表达式可以包含下列值集:
-
正零和负零。
-
正无穷和负无穷。
-
非数字值 (NaN)。
-
有限的非零值集。
1.0 / 0.0 = 正无穷 
看来写程序不能想当然,必要的判断还是要加的,不能什么都靠try{}catch{}.
本文通过一段示例代码探讨了浮点数除法在.NET框架中的表现,特别是当分母为零时,程序如何处理这种异常情况。文章指出,对于浮点数来说,这种操作不会抛出异常,而是返回正无穷大。

被折叠的 条评论
为什么被折叠?



