繁体   English   中英

为什么在try catch中Javascript无法处理除零错误

[英]Why doesn't Javascript handle divide by zero error in a try catch

我有以下简单的代码,在try / catch中引发错误,并在catch中处理错误。 这将按预期工作,并记录错误:

try {
    throw new Error('Test Error');
} catch (err) {
    console.log('Caught Error:');
    console.log(err);
}

然后,我尝试下一个示例,该示例中的代码引发错误,而不是我只是创建一个测试错误并引发该错误,并且该错误被抑制,但未在catch中处理:

try {
    let test = 1 / 0;
} catch (err) {
    console.log('Caught Error:');
    console.log(err);
}

在第二个示例中,不记录任何内容。 为什么是这样?

问候。

JavaScript没有这种异常,只是返回一个称为Infinity的特殊值。

您可以使用Number.isFinite函数检查并检测它是否被除以0。

 console.log(Number.isFinite(1 / 0)); console.log(Number.isFinite(1 / 1)); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM