前端异常的捕获与处理

一 异常分类:

执行 JS 期间可能会发生的错误有很多类型。每种错误都有对应的错误类型,而当错误发生的时候就会抛出响应的错误对象。ECMA-262 中定义了下列 7 种错误类型:

  • Error:错误的基类,其他错误都继承自该类型
  • EvalError:Eval 函数执行异常
  • RangeError:数组越界
  • ReferenceError:尝试引用一个未被定义的变量时,将会抛出此异常
  • SyntaxError:语法解析不合理
  • TypeError:类型错误,用来表示值的类型非预期类型时发生的错误
  • URIError:以一种错误的方式使用全局 URI 处理函数而产生的错误

 

二 异常处理:try-catch 对语法和异步错误却无能为力,捕获不到

 1 var array = null;
 2 try {
 3   document.write(array[0]);
 4 } catch(err) {
 5   document.writeln("Error name: " + err.name + "");
 6   document.writeln("Error message: " + err.message);
 7 }
 8 finally{
 9   alert("object is null");
10 }
11 
12 程序执行过程
13 
14 1. array[0]的时候由于没有创建array数组,array是个空对象,程序中调用array[0]就会产生object is null的异常 
15 2. catch(err)语句捕获到这个异常通过err.name打印了错误类型,err.message打印了错误的详细信息. 
16 3. finally类似于java的finally,无论有无异常都会执行.
View Code

 

 

前端异常的捕获与处理:https://juejin.cn/post/6932620551827488775#heading-16

 

 

 

posted @ 2021-03-16 11:14  TerryMin  阅读(146)  评论(0编辑  收藏  举报