js-异常

1、异常类型

1、语法错误(SyntaxError)
代码不符合语法规范时触发,例如缺少符号或拼写错误
2、引用错误(ReferenceError)
引用未声明的变量时发生,例如调用未定义的函数或变量
3、类型错误(TypeError)
操作不符合数据类型时发生,例如对字符串进行数学运算
4、范围错误(RangeError)
数值超出有效范围时触发,例如创建长度为负数的数组或递归调用导致堆栈溢出
5、URI错误(URIError)
处理不符合规范的 URL 或编码函数参数时触发

// 语法错误
conste a = 1;
Uncaught SyntaxError: Unexpected identifier 'a'

// 引用错误
b.toStrng()
Uncaught ReferenceError: b is not defined

// 类型错误
const a = {}
a.forEach(x=>x)
Uncaught TypeError: a.forEach is not a function

// 范围错误
const arr = [];
arr.length = -1;
Uncaught RangeError: Failed to set the 'length' property on 'Array': Invalid array length

// URL错误
decodeURIComponent('%E4%BD%A0%'); 
VM485:1 Uncaught URIError: URI malformed

2、异常捕获

try {  
    // 可能抛出错误的代码  
} catch (error) {  
    console.log(error.message);  
} finally {
// 可省略,无论是否有异常,都会执行此行代码
}

3、抛出异常

可以手动抛出异常,也可以抛出不同异常类型的错误

throw new Error('这是一个错误')

throw new TypeError('这是一个类型错误') 

throw new RangeError('这是一个范围错误') 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值