在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
- JavaScript:抛出错误时减less堆栈跟踪(指向调用站点)
- node.js承诺:如何找出哪个迭代抛出.catch语句中的exception?
- 在承诺中引发的exception不会显示
- 如何find哪些promise在nodejs中未处理UnhandledPromiseRejectionWarning?
- javascript / node.js中的exception是否会被lambdas捕获?
- 在javascript / nodejs中抛出exception真的那么糟糕?
- 节点exception处理
- NodeJS – 间歇性地出现“错误:此sockets已closures”
- Javascript eval()exception – 行号