gpt4 book ai didi

node.js - Node - 处理数据库错误而不崩溃

转载 作者:太空宇宙 更新时间:2023-11-04 00:34:45 25 4
gpt4 key购买 nike

无论数据库类型如何,我都无法清楚地了解在不导致应用程序崩溃的情况下处理数据库错误的最佳方法。

e.g connecting with sql

pool.getConnection(function(err, connection) {
if (err) {
throw err
}

connection.execute('select * ...' , values, function(err, result) {
if (err) {
throw err;
}
});

});

在上述两种情况下,我都会抛出导致 Node 服务器崩溃的错误。我想注册错误并以最优雅的方式响应请求。有人能指出正确的方向吗?

最佳答案

当你抛出错误时,需要有人来捕获它们。如果你没有在代码中的任何地方捕获它们,就会导致程序崩溃。

所以基本上你需要做的就是用 try/catch 包装对函数的调用,并且万一你捕获它并记录它并向请求者返回适当的响应。

类似于:

try {
pool.getConnection(function(err, connection) {
if (err) {
throw err
}

connection.execute('select * ...' , values, function(err, result) {
if (err) {
throw err;
}
});
});
} catch (error) {
log(error);
res.status(500).body("failed to get ... " + err).send();
}

我还建议阅读this blog post ,对这个主题有很好的解释

关于node.js - Node - 处理数据库错误而不崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39581654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com