我有以下简单的代码在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);
}
在第二个示例中,未记录任何内容。这是为什么?
问候。
答案 0 :(得分:5)
JavaScript没有这种异常,只返回一个名为Infinity
的特殊值。
您可以使用Number.isFinite
功能进行检查,并检测它是否被划分为0。
console.log(Number.isFinite(1 / 0));
console.log(Number.isFinite(1 / 1));