在node.js和express中处理exception

我是新来的JavaScript和节点,并试图创build一个应用程序使用node.js和expression。

我已经对错误进行了适当的callback,但是它们并没有放在任何地方,有时候node.js服务器只是因为一些exception而停止。

build议使用“upstart”或“forever”来保持node.js始终运行,并启动node.js是否停止。

似乎明确提供了所有的exception,从以下链接http://expressjs.com/guide.html#error-handling

app.use(function(err, req, res, next){ console.error(err.stack); res.send(500, 'Something broke!'); }); 

现在正在为我工​​作。 然而,我读了这样的捕捉错误是不是一个好主意,因为它可以有副作用,并可以使variables处于不一致的状态? 此外,捕获这样的exception对于所有情况都不起作用,并且在某些情况下,服务器仍然可以停止某些exception。 这是真的吗?

我的问题可能是这个。

1)像上面那样的exception处理能否使一些variables处于不一致的状态? 2)是否会有一些exception,将仍然停止服务器?

感谢和问候

图科

1)这个exception处理方法是否可以让一些variables处于不一致的状态取决于你的实现。

如果您将所有variables的范围限定在特定的请求和函数中,并且不访问像全局应用程序对象这样的全局variables或更高variables,那么您将会很好。 垃圾收集器发生exception之后,未使用的内存就会被清理干净。

2)是的,有些例外可能会停止服务器。 因此,你应该为这个过程设置一个全局的exception处理处理程序: http : //nodejs.org/api/process.html#process_event_uncaughtexception