Когда код сталкивается с неожиданной проблемой, идиоматический способ 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/”