笔记
在JavaScript的代码执行过程中,经常会遇到报错的情况,但是报错之后就会停止后面的代码,有没有什么方法可以捕获某些代码在执行过程中出现的问题在做出如下的操作
- 做一些补救性措施
- 不影响其他代码执行
try_catch_finally
//语法
try {
//尝试执行的代码段;
} catch (err) {
//当错误发生在执行的代码 (错误会在此处捕获,默认不会被抛出)
} finally {
//无论代码执行成功 还是失败 都会执行的代码段 //(finally不是必须的 可以省略不写)
//成功 try -> finally
//错误 try -> 出错 -> catch -> finally
}
try_catch_finally只能捕获同步过程出现的错误 => 异步无法捕获 => 非要捕获,需要在异步中也添加try_catch_finally代码
演示代码
try {
var a = 1;
var b = 2;
var c = a + b;
console.log(d);
} catch (err) {
console.log(err);
// throw err;
}
console.log("代码执行完毕");
常见的错误类型
Error 通用错误
EvalError
与eval()有关, 当调用 eval() 失败时抛出。
RangeError
数值变量或参数超出了其有效范围
ReferenceError
一个无效的引用(eg: strict模式下引用了一个未声明的变量等)
SyntaxError
当 JavaScript 语法错误时抛出。
TypeError
变量或参数不属于有效类型