我的node.js(Express.js)应用程序每次发生错误时都会崩溃(语法/未定义变量等等)。
这里有任何解决方案只是记录它而不是崩溃我的应用程序?我读了node.js错误的文档,但找不到解决方案。 https://nodejs.org/api/errors.html
我从快速生成器生成应用程序。我在谈论这个,这里是语法错误,变量未定义但服务器正在运行:http://prnt.sc/e2b7ce它没有崩溃
答案 0 :(得分:1)
这取决于错误,但大部分时间的答案都是否定的。
如果错误导致应用程序崩溃,则可能是应用程序需要运行的内容。
如果您在谈论特定错误,则需要分享这些错误的详细信息
这可能是关于node
中错误处理的一个很好的解读
Node.js Best Practice Exception Handling
答案 1 :(得分:0)
你可以捕获错误,但你不应该对你的错误做错,因为它在这样的错误后处于不可预测的状态,最好重新启动整个应用程序(nodemon,永远)。错误就像没有达到数据库,验证,承诺中的错误,......你应该抓住它。
对于第二个问题,您可以将此事件用于未处理的错误
process.on('uncaughtException', err => {})
答案 2 :(得分:0)
我解决了这个问题。变量未定义时(错误)
我在应用程序的主app.js文件的最后插入了这段代码 (response.error是我自定义消息的自定义函数)
app.use(function(err, req, res, next) {
res.status(err.status || 500).json(response.error(err.status || 500));
});