Рубрики
Без рубрики

Исключения JavaScript

Когда код сталкивается с неожиданной проблемой, идиоматический способ JavaScript справиться с этой ситуацией заключается в исключениях

Когда код сталкивается с неожиданной проблемой, идиоматический способ JavaScript справиться с этой ситуацией заключается в исключениях.

Создание исключений

Исключение создается с помощью ключевого слова throw :

throw value

где значение может быть любым значением JavaScript, включая строку, число или объект.

Как только JavaScript выполняет эту строку, обычный поток программы останавливается, и управление передается ближайшему обработчику исключений .

Обработка исключений

Обработчиком исключений является оператор try /|/catch .

Любое исключение, возникающее в строках кода, включенных в блок try , обрабатывается в соответствующем блоке catch :

try {
  //lines of code
} catch (e) {

}

e в этом примере является значением исключения.

Вы можете добавить несколько обработчиков, которые могут улавливать различные виды ошибок.

наконец

Для завершения этого оператора в JavaScript есть другой оператор с именем finally , который содержит код, который выполняется независимо от потока программы, было ли обработано исключение или нет, было ли исключение или его не было:

try {
  //lines of code
} catch (e) {

} finally {

}

Вы можете использовать наконец без блокировки catch , чтобы очистить любой ресурс, который вы могли открыть в блоке try , например файлы или сетевые запросы:

try {
  //lines of code
} finally {

}

Вложенные блоки попыток

попробуйте блоки могут быть вложенными, и исключение всегда обрабатывается в ближайшем блоке catch:

try {
  //lines of code

  try {
    //other lines of code
  } finally {
    //other lines of code
  }

} catch (e) {

}

Если во внутреннем возникает исключение, попробуйте , он обрабатывается во внешнем блоке catch .

Оригинал: “https://flaviocopes.com/javascript-exceptions/”