JavaScript 程序中的错误

Errors in javascript programs

本文关键字:错误 程序 JavaScript      更新时间:2023-09-26

标准JavaScript错误有很好的分类吗?例如,在类似Java的程序中,存在ArrayIndexOutOfRange等错误,资源泄漏,竞争条件等。

此外,在Javascript中,很少有错误不会报告为异常(例如,除以零)。是否有任何其他类似的行为未在 javascript 中报告为运行时异常?

MDN 有一篇关于这个的很棒的文章,他们可以比我说得更好:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types

此外,ECMA标准中的良好分类:

ECMAScript 5.1 (当前): http://www.ecma-international.org/ecma-262/5.1/#sec-15.11.6

ECMAScript 6(即将推出,某些浏览器中已经有一些功能):http://www.ecma-international.org/ecma-262/5.1/#sec-15.11.6

在"未报告为运行时错误"方面,有一些表达式的评估不会停止代码的执行,而是返回 NaN 等指标,例如:

var a = "Hello";
var b = 3;
var c = a / b; // c is "NaN"

您可以使用 isNaN() 函数来检查这一点。不幸的是,我不知道这些场景的官方明确列表(如果有更多的话),甚至不知道您将如何对它们进行分类。我想这归结为经验和学习语言的功能(或怪癖,取决于你的观点!