【repost】js 常见错误类型

1)SyntaxError

SyntaxError是解析代码时发生的语法错误

// 变量名错误 
var 1a; 
// 缺少括号 
console.log ‘hello‘);

(2)ReferenceError

ReferenceError是引用一个不存在的变量时发生的错误。

unknownVariable 
// ReferenceError: unknownVariable is not defined

另一种触发场景是,将一个值分配给无法分配的对象,比如对函数的运行结果或者this赋值。

console.log() = 1 
// ReferenceError: Invalid left-hand side in assignment 
this = 1 
// ReferenceError: Invalid left-hand side in assignment

上面代码对函数console.log的运行结果和this赋值,结果都引发了ReferenceError错误

(3)RangeError

RangeError是当一个值超出有效范围时发生的错误。主要有几种情况,一是数组长度为负数,二是Number对象的方法参数超出范围,以及函数堆栈超过最大值。

new Array(-1) 
// RangeError: Invalid array length 
(1234).toExponential(21) 
// RangeError: toExponential() argument must be between 0 and 20

(4)TypeError

TypeError是变量或参数不是预期类型时发生的错误。比如,对字符串、布尔值、数值等原始类型的值使用new命令,就会抛出这种错误,因为new命令的参数应该是一个构造函数。

new 123 
//TypeError: number is not a func 
var obj = {}; obj.unknownMethod() 
// TypeError: undefined is not a function

上面代码的第二种情况,调用对象不存在的方法,会抛出TypeError错误。

(5)URIError

URIError是URI相关函数的参数不正确时抛出的错误,主要涉及encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()这六个函数。

decodeURI(‘%2‘) 
// URIError: URI malformed

(6)EvalError

eval函数没有被正确执行时,会抛出EvalError错误。该错误类型已经不再在ES5中出现了,只是为了保证与以前代码兼容,才继续保留。

以上这6种派生错误,连同原始的Error对象,都是构造函数。开发者可以使用它们,人为生成错误对象的实例。

new Error("出错了!"); new RangeError("出错了,变量超出有效范围!"); new TypeError("出错了,变量类型无效!");

上面代码表示新建错误对象的实例,实质就是手动抛出错误。可以看到,错误对象的构造函数接受一个参数,代表错误提示信息(message)。

时间: 2024-10-29 19:05:33

【repost】js 常见错误类型的相关文章

js常见错误类型

常见三种错误类型: 类型转换错误 数据类型错误 通信错误 数据类型错误实例: 通讯错误: 通讯错误最常见的问题是将数据发给服务器之前没有使用 encodeURIComponent() 对数据进行编码

MySQL常见错误类型

MySQL常见错误类型:1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库文件失败1012:不能读取系统表中的记录1020:记录已被其他用户修改1021:硬盘剩余空间不足,请加大硬盘可用空间1022:关键字重复,更改记录失败1023:关闭时发生错误1024:读文件错误1025:更改名字时发生错误1026:写文件错误10

js教程(7) -- JS 常见错误、JS加速、保留词、ES5(6)特性

2019.09.24: 学习内容:JS 常见错误.JS加速.ES5(6)特性 补充:js保留词:https://www.w3school.com.cn/js/js_reserved.asp js版本及浏览器支持:https://www.w3school.com.cn/js/js_versions.asp 一.JS 常见错误: 1.=.==.=== 的含义 2.数字和字符串相加得到让人困惑的结果 3.JavaScript 中的数字均保存为 64 位的浮点数(Floats).所有编程语言,包括 Ja

js的错误类型

我在使用node的断言模块(assert)时,会使用错误类型,所以就复习一下: EvalError: 错误发生在eval()中SyntaxError: 语法错误,因为发生SyntaxError会无法通过解释器RangeError: 数值超出范围ReferenceError: 引用不可用TypeError: 变量类型不是预期的URIError: 错误发生在encodeURI()或decodeURI()中 这些错误类型,都是构造函数,js都在内部实现了! 例如: 你可以这样抛出一个语法类型的错误:

javascript中常见错误类型

js中控制台报错主分两大类: 第一类:语法错误,这一类错误在javascript预解析的过程中如果遇到,则会导致整个js文件都无法执行. 另一类:统称为异常,这一类的错误会导致在错误出现的那一行之后的代码无法执行,但注意,在那一行之前的代码是不会受到影响的. 注意:以下的6种错误中,都可以按照3个参数来查找错误: 第一个参数message:表示错误提示信息,第二个fileName文件名,第三个lineNumber行号. 1. SyntaxError(语法错误): 2. Uncaught Refe

JS常见错误和分析

列举一些在前端开发中遇到的一些错误信息和解决办法 错误信息 解决办法 Uncaught SyntaxError: Unexpected token o 使传入的字符串不是符合严格的JSON格式会抛出异常,o意思是传入了一个对象,返回查看传入参数的格式; parseJSON的使用注意事项 Uncaught SyntaxError: Unexpected token n 使用$.parseJSON(data)将格式化好的JSON字符串转化为与之对应的JS对象时,n为不合格字符串的第一个字符,查看JS

python常见错误类型

Python标准异常总结AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError 用户输入文件末尾标志EOF(Ctrl+d) FloatingPointError 浮点计算错误 GeneratorExit generator.close()方法被调用的时候 ImportError 导入模块失败的时候 IndexError 索引超出序列的范围 KeyError 字典中查找一个不存在的关键字 KeyboardInterrupt

python初体验-常见错误类型

我们写代码的过程中,难免会因为粗心.手误.知识点掌握不熟练等原因,导致程序运行报错无法运行或运行结果与预期不符. 看一下比较常见的两种 bug: SyntaxError:语法错误,表示你写的代码不符合 Python 的语法规范.比如字符串使用了中文引号等. NameError:名字错误,常见于使用了未定义的变量. 例子:print(‘python编程’) # 报错:SyntaxError: bad token on line 1 # 第一行的字符串使用了中文引号 # debug 后代码如下 pr

python常见错误类型及解决方法

1.IndentationError:缩进错误 如: IndentationError: unindent does not match any outer indentation level IndentationError: unexpected indent 原文地址:https://www.cnblogs.com/xybin/p/11336082.html