德尔福柏林10.1分零缺失异常
我很惊讶没有得到除零异常.我怎样才能找回来?
柏林10.1最近安装,新项目, procedure TForm1.Button1Click(Sender: TObject); var a: Double; begin a := 5/0; // No exception ShowMessage(a.ToString); // -> 'INF' end; 解决方法a := 5/0; 表达式5/0在技术语言中是constant expression.
因此,此表达式由编译器评估,而不是在运行时.因此,它的评估由编译时规则决定,不受运行时浮点单元异常掩码的影响. 这些规则规定正值除以零等于INF,即一个特殊的IEEE754值.如果将表达式更改为至少有一个不是常量表达式的参数,那么它将在运行时进行计算,并且将引发除零异常. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |