为什么我的javascript Catch块没有执行?

wil*_*lem 0 javascript exception-handling

我觉得这很傻,我一定会错过一些明显的东西.

我的javascript看起来如下......

function onNewItemClick(event)
{
    alert('ello!');
    try
    {
        var xx = 111/0;
    }
    catch(exc)
    {
        alert('fff');
    }
}
Run Code Online (Sandbox Code Playgroud)

alert('ello!')的工作方式应该如此,但Catch块中的警报('fff')永远不会被调用.我在这做错了什么?

CMS*_*CMS 7

catch不会执行,因为除零不会引发异常,它只是将xx变量设置为Infinity.

要检查数字是否有限,您可以使用以下isFinite函数:

if (!isFinite(xx)) {
  //...
}
Run Code Online (Sandbox Code Playgroud)