node.js, catching errors so script doesn't break?
我有一个node.js脚本,任何时候发生错误node.js停止运行时发生的错误。
检查node.js中错误的正确方法是什么,这样它就不会破坏脚本并导致node.js停止?
-
修正你的错误? 在try ... catch块中包含潜在运行时错误的代码? 这与其他任何语言/口译员有什么不同?
-
@nrabinowitz所以使用try catch如果发生错误它不会破坏脚本? 请原谅我缺乏知识,对nodejs来说非常新,所以它在我的舒适程度之外。 试着去学习它。
-
是的,Javascript中的try ... catch与其他语言的工作方式相同,允许您捕获并处理运行时代码中的错误(尽管它对解析时错误没有帮助,例如语法错误)。 请参阅developer.mozilla.org/en/JavaScript/Reference/Statements/…
-
请参阅stackoverflow.com/questions/7310521/…
您可以通过设置以下内容来捕获其他未捕获的错误:
1 2 3
| process.on('uncaughtException', function (exception) {
// handle or ignore error
}); |
当然,如果您在诸如forever或node-supervisor之类的东西中运行脚本,当您的脚本"停止"时,它将开始备份,这可能会解决您的问题。
-
真的很方便...它开始变得烦人检查我的日志文件
-
这仍然是推荐的吗? 对此有副作用吗?
-
Joylet网站强烈建议不要使用这种错误处理方法。joyent.com/developers/node/design/errors
不再推荐捕获uncaughtException。
使用域名是首选。 使用"uncaughtException"或Domain,强烈建议在处理异常后重新启动该进程。
为了自动重启进程,NodeJS提供了另一个名为Cluster的库,它可以帮助管理工作线程。
-
域名现已正式弃用。nodejs.org/api/domain.html