关于JS面向对象的错误与异常处理方式
错误与异常是什么
错误,指程序中的非正常运行状态,在其它编程语言中称为“异常”或“错误”。解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描迹信息。
通过使用JavaScript提供的异常处理语句,可以用结构化的方式来捕捉发生的错误,让异常处理代码与核心业务代码实现分离。
错误与异常处理在应用中的重要性是毋庸置疑的。任何有影响力的Web应用都需要一套完善的错误处理机制。
try…catch语句
try..catch语句作为JavaScript中处理异常的一种标准方式。try语句标记一块待尝试的语句,如果该语句出现错误,则通过catch语句进行捕获。基本的语法如下:
try { //可能会导致错误的代码 }catch ( error ){ //在错误发生时的处理 } 复制代码
捕捉块
可以使用捕捉块来处理所有可能在try代码块中产生的异常。
catch (catchID){ statements } 复制代码
捕捉块指定了一个标识符(上述语句中的catcl:D)来存放抛出语句指定的值。可以用这个标识符来获取抛出的异常信息。
终结块
终结块包含了在try和catch块完成后、下面接着的语句之前执行的语句。终结块无论是否抛出异常都会执行。如果抛出了一个异常,就算没有异常处理,终结块里的语句也会执行。
// 用于捕获指定语句块中的错误或异常 try{ console.log(a); // 调用未定义的变量 -> 报错 } // 用于处理try语句中出现的错误 catch(a){ // a - 表示语句中出现的错误信息 console.log(a); } // catch语句无法处理try语句中的错误或异常时,执行finally语句中的内容 finally{ console.log('错误'); } 复制代码
嵌套try…catch语句
可以嵌套一个或多个tr...catch语句。如果一个内部的try..catch语句没有捕捉块,将会启动匹配外部的try..catch语句的捕捉块。
try { console.log(0); } catch( error ){ try { console.log(1); }catch( error ){ console.log(2); } } 复制代码
基本错误类型
执行代码期间可能会发生的错误有多种类型,每种错误都有对应的错误类型。当错误发生时,就会抛出对应类型的错误对象。
Error是基本错误类型,其他错误类型都继承自该类型。Error类型的错误很少见,如果有也是浏览器抛出的。这个基本错误类型的主要目的是提供给开发人员抛出自定义错误的。
作者:吾覭
链接:https://juejin.cn/post/7023662083946315813