位置: 编程技术 - 正文
推荐整理分享Node.js下自定义错误类型详解(node.js配置),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:nodejs自动生成接口文档,node自定义模块,node自定义命令,node自定义命令,node自定义命令,nodejs自动生成接口文档,node.js怎么配置,nodejs自定义模块,内容如对您有帮助,希望把文章链接给更多的朋友!
前言
一般来说,很少人会考虑如何处理应用产生的错误的策略,调试的过程中,简单地利用console.log(‘error')定位错误,基本够用了,通过留下这些调试信息,能够为我们以后的调试过程中升了不少时间,提高了维护性。所以错误提示非常重要。同时,也会带来一些比较糟糕用法。最近的项目里就用到了自定义错误类型,觉得有必要深入了解一下,所以就写了这篇文章,方便自己和有需要的大家在需要的时候查阅。
Subclassing Error
首先我们可以定义一个 Error 的子类。通过 Object.create 和 util.inherits 很容易实现:
可以通过 instanceof 来检查错误类型,根据类型进行不同的处理。
上面的代码设置了自带的message, 并且 error 是 NotFound 和 Error 的一个实例, 但是不是 RangeError。
如果用了 express 框架, 就能设置其他的 properties 让 error 变得更有用。
比方说当处理一个HTTP的错误时, 就可以写成这样:
现在就已经可以通过错误处理的中间件来处理错误信息:
这会发送HTTP的状态码给浏览器, 当 err 的 statusCode 未设置或者等于 的时候, 就通过邮件来发送这个错误。这样就能排除那些 , , 等等的错误。
读取 console.error(err.stack) 事实上并不会像预期那样工作,像 node, chrome 基于 V8 的可以使用 Error.captureStackTrace(this, arguments.callee) 的错误构造函数来进行堆栈跟踪。
当然我们还可以将上面这个创建的抽象错误类型扩展到其他自定义错误中:
总结
标签: node.js配置
本文链接地址:https://www.jiuchutong.com/biancheng/370816.html 转载请保留说明!友情链接: 武汉网站建设