为什么';t Javascript句柄在try-catch中被零除的错误

为什么';t Javascript句柄在try-catch中被零除的错误,javascript,Javascript,我有下面的简单代码,它在try/catch中抛出一个错误,错误在catch中处理。这将按预期工作,并记录错误: try { throw new Error('Test Error'); } catch (err) { console.log('Caught Error:'); console.log(err); } 然后我尝试下一个示例,其中代码抛出错误,而不是我只是创建一个测试错误并抛出它,错误被抑制,但不会在catch中处理: try { let test

我有下面的简单代码,它在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没有这种异常,只是返回一个名为
无穷大的特殊值

您可以使用
Number.isFinite
函数进行检查,并检测它是否被0分割

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

console.log(Number.isFinite(1/1))JavaScript没有这种异常,只是返回一个名为
Infinity
的特殊值

您可以使用
Number.isFinite
函数进行检查,并检测它是否被0分割

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

console.log(Number.isFinite(1/1))谢谢你。。。这是有道理的。谢谢你。。。这是有道理的。因为0/1定义得很好?您正在除以0,而不是除以0。一个是完全定义的,而另一个是不确定的。因为0/1定义得很好?您正在除以0,而不是除以0。一个是完全定义的,而另一个是不确定的。