错误处理
抛出异常的方式
方式一:抛出基本数据类型
throw 'error'
方式二:抛出一个对象类型
可以提供更多信息,便于判断和解决错误
但不方便,每次都需手写对象信息
throw {code:404,errMsg:'error'}
方式三:创建类,并创建其实例
class MyError{constructor(code,errMsg){this.code=codethis.errMsg=errMsg}}throw new MyError(404,'error')/* 其实可以使用JS内置Error错误类,相比自己创建的简易错误类,Error的实例在抛出时会打印调用栈 */throw new Error('error')
Error类
属性
- message:创建Error对象时传入的参数
- name:Error的名称,通常与类名一致
- stack:整个Error的错误信息,包括函数的调用栈,当打印Error时即打印该属性
子类
- RangeError:下标值越界
- SyntaxError:解析语法错误
- TypeError:类型错误
抛出异常的处理方式
方式一:不处理
异常将继续抛出,直至最底层的调用栈,此时程序将终止执行
方式二:try/catch
使用try/catch捕获错误并处理
