有没有如何处理nodejs中未捕获的异常的指南
Is there any guide how to handle the uncaught exception in nodejs?
最初,uncaughtException
在我的代码中用于捕获所有未经处理的异常。
process.on('uncaughtException', function (err) {
if ('stack' in err) {
console.log(err.stack);
}
});
然而这不是一个好方法,根据这篇文章,我们知道
`uncaughtException` is a very crude mechanism for exception handling and
may be removed in the future.
And use `domains` instead. If you do use it, restart your application
after every unhandled exception!
Do not use it as the node.js equivalent of On Error Resume Next.
此外,模块forever
是另一种好方法。
以下是我的问题:
On Error Resume Next
是什么意思?- 有没有如何处理nodejs中未捕获的异常的指南?
On Error Resume Next
是一个Visual Basic(VB.NET!)构造,它会导致忽略任何到达其范围的异常并继续执行。(需要明确的是,这是一个坏主意。它看起来像这样:
Sub Example()
On Error Resume Next
Dim x As String = Nothing
Dim y As String = x.Substring(0, 5) ' Fails! Ignored! y is Nothing, probably
Console.WriteLine(y) ' Execution continues
End Sub
这有点像在 PHP 中以 @
开头的每个语句,作为另一个示例。
forever
是重新启动脚本的正确方法,该脚本在发生未经处理的异常时不应终止。
引用自此
- 应用程序不应有未捕获的异常。这显然是疯狂的。
- 您应该让您的应用程序崩溃,找到未捕获的异常并修复它们。这显然是疯狂的。
- 你应该默默地吞下错误。这是很多人做的事情,这很糟糕。
- 你应该让你的应用程序崩溃,记录错误,然后用诸如upstart,forever或monit之类的东西重新启动你的进程。这是务实的。
- 您应该开始使用域来处理错误。显然是要走的路,尽管这是Node的一个实验性功能。
相关文章:
- nodejs-expressjs上传图像并显示它们
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- NodeJS日期格式不起作用
- Nested Q.all nodejs
- Nodejs API控制器,用于在API之间切换
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- 如何在大型nodeJS代码的基础上逐步引入typescript
- NodeJS和pg promise,捕获PostgreSQL异常
- 需要一种方法来系统地处理NodeJS项目中的错误/异常/拒绝
- NodeJS + QUNIT:在测试中保存返回的异常
- 有没有如何处理nodejs中未捕获的异常的指南
- 简单的 NodeJS 路由器问题 -- 行为异常的案例语句
- Nodejs 中用于获取调用的未捕获异常错误
- 在尝试获取request.body Nodejs中的所有字段时获取异常“Object.keys在尝试访问对象时调用非对象
- Nodejs - Express res.download 给出 发送后无法设置标头异常
- NodeJS-EMFILE异常-通过管道发送到writeStream的请求
- 在javascript/nodejs中抛出异常真的那么糟糕吗?
- NodeJS中的嵌套回调和异常处理
- Nodejs处理异常