javascript有哪些错误类型插图

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

ECMS中定义了以下八种错误类型,并在错误发生时抛出不同的错误对象。

  • Error

  • InternalError

  • EvalError

  • RangeError

  • ReferenceError

  • SyntaxError

  • TypeError

  • URIError

一、Error

Error是基类型,其他错误类型都是继承该类型,因此,所有错误类型都是共享相同的属性(所有错误对象上的方法都是这个默认类型定义的方法)。浏览器很少会抛出Error类型的错误,该类型主要用于开发者抛出自定义错误。

例如拦截器/导航守卫中经常会使用到。

在这里插入图片描述

二、InternalError

InternalError类型的错误会在底层JavaScript引擎抛出异常时由浏览器抛出。例如,递归过多导致了栈溢出。这类型并不是代码中通常要处理的错误,如果真的发生了这种错误,很可能代码哪里弄错了或者有危险。

三、EvalError

EvalError类型错误会在使用eval()函数发生异常时抛出。ECMA-262规定,’如果eval属性没有被直接调用(就是没有将其名称作为一个Identifier(标识符),也就是CallExpression中的MemberExpression)。

基本上,只要不把eval()当成函数调用就会报错。

不同浏览器抛出的错误会有差异,但很少会这么使用,所以平时不常见

在这里插入图片描述

四、RangeError

RangeError会在数值越界时抛出。例如,定义数组时如果设置了不支持的长度,如-20。又或者没有给递归设置停止条件时触发。

该类型在JavaScript发生不多

在这里插入图片描述

在这里插入图片描述

五、ReferenceError

ReferenceError会在找不到对象时发生。(就是著名的”object expected”浏览器错误的原因)。这种错误经常是由访问不存在的变量而导致。

例:

在这里插入图片描述

六、SyntaxError

经常在给eval()传入的字符串包含JavaScript语法错误时发生,在eval()外部很少会用到该类型错误。这是因为JavaScript代码中的语法错误会导致代码无法执行。

七、TypeError

TypeErrorJavaScript中很常见,主要发生变量不是预期类型,或者访问不存在的方法时等原因导致,尤其是在使用类型特定的操作而变量类型不对时。

在给函数传参前没有验证的情况下,错误频繁发生

在这里插入图片描述

八、URIError

URIError只会在使用encodeURL()或decodeURL()但传入了格式错误的URL时发生,但非常罕见,因为上面两个函数非常稳健。

【推荐学习:javascript高级教程

以上就是javascript有哪些错误类型的详细内容,更多请关注亿码酷站其它相关文章!


<!–亿码酷站直播班–>javascript有哪些错误类型
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

云服务器推荐