Node AssertionErrors没有打印,断言无声地失败

时间:2013-10-21 16:01:44

标签: javascript node.js express assert assertions

我有一个方法,包含以下代码:

  console.log('Should fail here')
  assert(false)
  console.log('Does this print?')

在我的应用内运行时:

  1. '应该在这里失败'打印
  2. AssertionError无效。没有任何错误打印到控制台。
  3. '这是否打印?'不打印。所以看起来AssertionError运行了,但没有做任何事情。
  4. 我可以将相同的代码添加到更高的范围,并且它按预期工作,引发异常。

    我还可以使用node-inspector启动我的应用程序并运行:

    debugger;
    

    然后输入:

    assert(false)
    

    在同一个地方,错误将打印到node-inspector:

    AssertionError: false == true
    

    然而,常规控制台仍然是空白。

    什么会导致这种行为?

1 个答案:

答案 0 :(得分:0)

Express中间件中的错误,或者,通过扩展,来自快速中间件的任何内容都会无声地失败。有关详细信息,请参阅Nodejs: How to catch an exception from middleware?