try...catch

try{ } catch(e){ } finally{ }

  1. try里面发生错误,不会抛出错误,但也不会执行错误后的try里面的代码,但也不终止后续的代码执行。
try{
      console.log('a');
      console.log(b);//会报错,不执行,不抛出错误,不终止后续代码执行
      console.log('c');//正确,不执行
}catch(e) {
}
console.log('d');//仍然执行

输出a d

  1. try中代码无错误时,catch不会被执行。try中一旦出现错误,直接跳转catch执行:catch作用是把错误捕捉到,错误有一堆错误信息,系统会把错误信息封装到error对象里面,然后传给e使用。
try{
      console.log('a');
      console.log(b);
      console.log('c');
}catch(e) {//error error.message error.name --> error
console.log(e);//一般直接打印e,里面有错误信息及错误名称
}
console.log('d');
  1. catch负责捕捉错误到程序里,就不会抛出到控制台,就不会终止代码执行。try...catch为了容错,捕捉错误,提供错误信息。

Error.name的六种值对应的信息:

  1. EvalError: eval()的使用与定义不一致
  2. RangeError: 数值越界
  3. ReferenceError: 非法或不能识别的引用数值
    eg:函数未被定义直接调用
  4. SyntaxError:发生语法解析错误
    eg:出现中文冒号:
  5. TypeError:操作数类型错误
  6. URIError: URI处理函数使用不当

你可能感兴趣的