分享一个顺手的自定义Error工具库给大家: node-define-error
定义自己的异常类型可以方便开发调试工作. 关于为什么需要定制错误(或者说"异常")类型, 已经有很多文章说过了, 这里不再赘述.
我最近重新实现了(又)一个帮助定义异常类型的工具库: https://github.com/luochen1990/node-define-error
这个库基于v8提供的 Error.captureStackTrace这个API实现,目前没有做shim,所以如果用在浏览器上会存在兼容性问题, 这个shim后续版本应该会加上.
这个库相比于其它Custom Error库的区别在于支持嵌套异常 (嵌套在内部的异常会放在当前异常的 cause 属性上), 并且针对嵌套异常处理了一下报错信息的打印格式, 使得对于开发调试更加友好.
一个嵌套异常的例子:
希望这个小工具对大家有帮助 :)