javascript程序中的错误

时间:2015-02-04 11:04:06

标签: javascript

标准的javascript错误是否有良好的分类?例如,在类似java的程序中,存在像ArrayIndexOutOfRange,资源泄漏,竞争条件等错误。

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

1 个答案:

答案 0 :(得分:2)

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()函数来检查这一点。不幸的是,我不知道这些场景的正式明确列表(如果还有更多),甚至不知道如何对它们进行分类。我想它归结为经验和学习语言的功能(或根据你的观点的怪癖!)。