Error 的基本使用

创建一个 Error

  1. let errObj = new Error('This is a error')
  2. console.log(errObj)
  3. // 输出
  4. Error: This is a Error
  5. at Object.<anonymous> (E:\AllCode\Code\html+css+js\23_promise小书\src\05.error对象.js:2:16)
  6. at Module._compile (internal/modules/cjs/loader.js:689:30)
  7. at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
  8. at Module.load (internal/modules/cjs/loader.js:599:32)
  9. at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
  10. at Function.Module._load (internal/modules/cjs/loader.js:530:3)
  11. at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
  12. at startup (internal/bootstrap/node.js:283:19)
  13. at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)

Error 的 toString() 方法

  1. let errObj = new Error('This is a error')
  2. console.log(errObj.toString())
  3. // 输出
  4. Error: This is a Error

与 try…catch… 结合使用

这样使用不会触发catch

触发 catch 需要使用 throw。

  1. try {
  2. let errObj = new Error('This is a Error')
  3. console.log('try', errObj.toString())
  4. } catch (e) {
  5. console.log('catch', e) // 不会执行
  6. }

这样使用

  1. try {
  2. let errObj = new Error('This is a Error')
  3. console.log('try', errObj.toString())
  4. throw errObj // <= 关键,触发 catch 语句
  5. } catch (e) {
  6. console.log('catch', e.toString())
  7. }
  8. // 输出
  9. // try Error: This is a Error
  10. // catch Error: This is a Error