【问题标题】:node.js, catching errors so script doesn't break?node.js,捕捉错误所以脚本不会中断?
【发布时间】:2011-12-07 08:52:10
【问题描述】:

我有一个 node.js 脚本,只要发生错误,node.js 就会停止运行并出现错误。

检查 node.js 中的错误的正确方法是什么,以免破坏脚本并导致 node.js 停止?

【问题讨论】:

  • 修复您的错误?在try ... catch 块中包装带有潜在运行时错误的代码?这与任何其他语言/口译员有何不同?
  • @nrabinowitz 所以如果发生错误,使用 try catch 不会破坏脚本?请原谅我缺乏知识,对nodejs非常陌生,所以它超出了我的舒适范围。正在努力学习它。
  • 是的,try ... catch 在 JavaScript 中的工作方式与在其他语言中相同,允许您捕获和处理运行时代码中的错误(尽管它对解析时错误没有帮助,例如语法错误)。见developer.mozilla.org/en/JavaScript/Reference/Statements/…

标签: node.js


【解决方案1】:

不再推荐捕获 uncaughtException。

最好使用domains。强烈建议在处理异常后使用“uncaughtException”或 Domain,重新启动进程。

为了自动重启进程,NodeJS 提供了另一个名为 Cluster 的库,它有助于管理工作线程。

【讨论】:

    【解决方案2】:

    您可以通过设置以下内容来捕获其他未捕获的错误:

    process.on('uncaughtException', function (exception) {
       // handle or ignore error
      });
    

    当然,如果您在永久或节点主管中运行脚本,当您的脚本“停止”时,它会重新启动,这可能会解决您的问题。

    【讨论】:

    猜你喜欢
    • 2011-01-30
    • 2010-12-05
    • 1970-01-01
    • 2011-06-12
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 2013-10-12
    相关资源
    最近更新 更多