0

我有一个带有以下代码的方法:

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

在我的应用程序中运行时:

  1. “应该在这里失败”打印
  2. AssertionError 无效。任何错误都不会打印到控制台。
  3. “这能打印吗?” 不打印。所以看起来 AssertionError 运行了,但没有做任何事情。

我可以将相同的代码添加到更高的范围,它按预期工作,引发异常。

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

debugger;

然后输入:

assert(false)

在同一个地方,错误将打印到节点检查器:

AssertionError: false == true

但是,常规控制台仍然保持空白。

什么会导致这种行为?

4

1 回答 1

0

Express 中间件中的错误,或者通过扩展,从 express 中间件调用的任何内容都会以静默方式失败。请参阅Nodejs:如何从中间件捕获异常?详情。

于 2013-10-21T17:01:06.597 回答