我们在客户机器上的以下行中得到一个ArithmeticException(算术运算中的溢出或下溢。) 。我们无法在任何 PC(客户或我们的)上复制它:
var actualFullness = (byte)((hdd.Capacity - hdd.FreeSpace) / (float)hdd.Capacity * 100);
在哪里hdd.Capacity
和hdd.FreeSpace
在哪里uint
。值来自本机 DLL 中的函数。
我们在程序中使用 NOchecked
或unchecked
关键字。我们不使用/checked编译器选项。
它是用 .NET 4 编写的,并且作为 32 位进程运行。
知道为什么会抛出这个异常吗?