我有以下简单的代码,在try/catch中抛出错误,并在catch中处理错误.这按预期工作,并记录错误:
try {
throw new Error('Test Error');
} catch (err) {
console.log('Caught Error:');
console.log(err);
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试下一个示例,其中代码抛出错误而不是我只是创建一个测试错误并抛出它,并且错误被抑制,但不在catch中处理:
try {
let test = 1 / 0;
} catch (err) {
console.log('Caught Error:');
console.log(err);
}
Run Code Online (Sandbox Code Playgroud)
在第二个示例中,没有记录任何内容.为什么是这样?
问候.
JavaScript没有那种异常,只是返回一个特殊的值来调用Infinity.
您可以检查Number.isFinite功能并检测它是否被划分为0.
console.log(Number.isFinite(1 / 0));
console.log(Number.isFinite(1 / 1));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1155 次 |
| 最近记录: |