Javascript Google闭包编译器不报告被零除

Javascript Google闭包编译器不报告被零除,javascript,google-closure-compiler,divide-by-zero,Javascript,Google Closure Compiler,Divide By Zero,我已运行google closure compiler for next: alert(1 / 0); 使用命令: java -jar node_modules\google-closure-compiler\compiler.jar --warning_level=VERBOSE test.js 而且它没有报告任何事情。我希望它会说一些关于devide by zero的内容,因为reference()提到 JSC除以0错误 除以0 此错误意味着您需要一个分母为0的算术除法表达式。在运行时

我已运行google closure compiler for next:

alert(1 / 0);
使用命令:

java -jar node_modules\google-closure-compiler\compiler.jar --warning_level=VERBOSE test.js 
而且它没有报告任何事情。我希望它会说一些关于devide by zero的内容,因为reference()提到

JSC除以0错误

除以0

此错误意味着您需要一个分母为0的算术除法表达式。在运行时除以零会产生运行时错误

我还测试了JSC按位操作数超出范围的示例代码:

var y = 1024 * 1024 * 1024 * 2 >> 2;
在这种情况下,google闭包编译器正好指出了问题所在

test.js:2: WARNING - Operand out of range, bitwise operation will lose information: NUMBER 2.147483648E9 2 [length: 22] [source_file: test.js]
var y = 1024 * 1024 * 1024 * 2 >> 2;
        ^

如何获取顶级源代码的
JSC\u除以0\u错误

编译器源代码中不再存在
JSC\u除以0\u错误
错误,您可以在中搜索它。因此,必须删除错误检查


闭包编译器文档目前有点过时,分散在各个页面中。

“在运行时被零除会产生运行时错误。”-不,不是这样,在JavaScript中,被零除会产生无穷大的值。(这可能是您的算法中的逻辑错误,但从异常的意义上讲,它不是运行时错误。)您是说闭包编译器参考中的描述不正确吗?不管怎样,我不在乎在这里运行时会发生什么。我想使用闭包编译器静态地检查它。如果它是用来描述JavaScript是如何工作的,那么它肯定是错误的,但我不知道这些闭包编译器选项应该如何工作。(关于静态检查是否被零除,显然你只能对常量执行此操作,因为如果你的代码显示
1/x
,编译器无法判断运行时
x
将是什么,但我想你知道这一点。)@nnnnn除了将零除零,这会给出
NaN
。它在2011年3月被删除