错误处理

抛出异常的方式

方式一:抛出基本数据类型

  1. throw 'error'

方式二:抛出一个对象类型

可以提供更多信息,便于判断和解决错误

但不方便,每次都需手写对象信息

  1. throw {code:404,errMsg:'error'}

方式三:创建类,并创建其实例

  1. class MyError{
  2. constructor(code,errMsg){
  3. this.code=code
  4. this.errMsg=errMsg
  5. }
  6. }
  7. throw new MyError(404,'error')
  8. /* 其实可以使用JS内置Error错误类,相比自己创建的简易错误类,Error的实例在抛出时会打印调用栈 */
  9. throw new Error('error')

Error类

属性

  • message:创建Error对象时传入的参数
  • name:Error的名称,通常与类名一致
  • stack:整个Error的错误信息,包括函数的调用栈,当打印Error时即打印该属性

子类

  • RangeError:下标值越界
  • SyntaxError:解析语法错误
  • TypeError:类型错误

抛出异常的处理方式

方式一:不处理

异常将继续抛出,直至最底层的调用栈,此时程序将终止执行

方式二:try/catch

使用try/catch捕获错误并处理