Как обрабатывать ошибки, создаваемые couchbase SDK?

У меня есть приложение 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);
}

Поскольку ошибка не отправляется в обратном вызове, поэтому нет способа проверить и ответить клиенту соответствующим образом, это просто сбой приложения. Я могу сделать эти проверки перед вызовом этой конкретной функции, но есть много других функций, подобных этим, которые выдают ошибки, каков наилучший способ их обработать и ответить клиенту вместо сбоя приложения?

0 ответов

Другие вопросы по тегам