停止应用程序在Express.js中崩溃

时间:2015-10-27 17:23:48

标签: node.js express

Express.js关于未捕获异常的行为对我来说相当随机。有时,请求返回代码500内部错误并继续运行,有时会崩溃[nodemon] app crashed - waiting for file changes before starting...。后来什么时候发生?我可以通过返回代码为500的所有错误请求来阻止它崩溃吗?

1 个答案:

答案 0 :(得分:0)

这些错误属于两个不同的类别。

第一个错误500 internal error属于操作错误类别。由于套接字挂起或请求超时等外部情况,会发生此类错误。应用程序抛出错误,但稍后在执行期间处理。服务器响应错误500状态代码而不是通常200.发送响应后,它继续工作。

第二个错误[nodemon] app crashed - waiting for file changes before starting...属于程序员错误类别。当发生由程序员错误引起的未处理错误从而使其成为错误时,就会发生这种情况。这可能是因为javascript解析器无法解析您的代码,从而导致语法错误。在某些情况下,它也可能由于语义错误而发生,即。有关缺少模块或未定义变量的参考错误。

此类错误后,服务器停止工作,并在检测到代码更改时由nodemon启动。

这样的错误应该是未处理的,因为尝试处理它们可能会导致程序运行中出现不可预测的后果。

我向您推荐一篇关于node.js https://www.joyent.com/developers/node/design/errors

中的错误处理的精彩文章