我有一个 NodeJS 应用程序,它连接到 couchbase 并使用它的 sdk("couchbase": "^2.0.8") 来连接和执行查询。在某些情况下,SDK 代码会抛出如下错误:
Bucket.prototype.getMulti = function(keys, callback) {
if (!Array.isArray(keys) || keys.length === 0) {
throw new TypeError('First argument needs to be an array of length > 0.');
}
if (typeof callback !== 'function') {
throw new TypeError('Second argument needs to be a callback.');
}
.
.
.
};
这就是我所说的:
try {
bucket.getMulti(keys, function(err, result) {
if(err){
console.log(err);
}
.
.
.
}
} catch (error) {
console.log(error);
}
由于错误未在回调中发送,因此无法检查并适当地响应客户端,它只是使应用程序崩溃。我可以在调用此特定函数之前进行这些检查,但是还有许多其他类似的函数会引发错误,处理它们并响应客户端而不是使应用程序崩溃的最佳方法是什么?