Как проверить тип ошибки в Node JS? - PullRequest
1 голос
/ 29 января 2020

Допустим, у меня есть ошибка:

.catch((err) => {
  res.sendFile(path.join(__dirname, '..', 'public', 'url-error.html'));
  console.log(err.message);
});

Как проверить тип ошибки?

Например,

if (err.message.toLowerCase().contains('invalid operator')) {
  console.log('this is me doing something in this block');
} else {
  console.log('nothing is happening here');
}

PS Я получаю сообщение об ошибке от библиотека в Node.JS с именем "ytdl-core".

1 Ответ

1 голос
/ 29 января 2020

Вы можете проверить код ошибки

if (err.code =='ERR_AMBIGUOUS_ARGUMENT') {
  console.log('this is me doing something in this block');
} else {
  console.log('nothing is happening here');
}

https://nodejs.org/dist/latest/docs/api/errors.html#errors_node_js_error_codes

Вы можете использовать instanceof для типа

catch (e) {
    if (e instanceof RangeError) {
      // Output expected RangeError.
      console.log(e);
    } else {
      // Output unexpected Errors.
      console.log(e, false);
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...