JavaScript try/catch/finallyОператор
Справочник по инструкциям JavaScript
Примеры
В приведенном ниже примере мы намеренно сделали опечатку в коде внутри блока try.
В этом примере должно всплыть окно alert с "Welcome!", но вместо этого всплывает сообщение об орфографической ошибке.
Блок catch перехватывает ошибку в блоке try и выполняет код для ее обработки:
Попробуйте сами »
Дополнительные примеры приведены в нижней части этой статьи.
Определение и использование
Оператор try/catch/finally используется для обработки сообщений об ошибках, которые могут возникнуть в коде.
Ошибки могут быть синтаксическими ошибками, обычно ошибками в коде или опечатками, допущенными программистами. Они также могут быть орфографическими ошибками или отсутствующими возможностями в языке (возможно, из-за различий браузеров).
tryОператор позволяет нам определить блок кода для проверки на ошибки во время его выполнения.
catchОператор позволяет нам определить, когдаtryв блоке кода возникает ошибка, блок кода, который нужно выполнить.
finallyОператор выполняется после try и catch независимо от того, есть ли исключение.
Примечание:Операторы catch и finally необязательны, но при использовании оператора try необходимо использовать хотя бы один из них.
Совет:Когда возникает ошибка, JavaScript останавливает выполнение и создаёт сообщение об ошибке. Используйте инструкциюthrow, чтобы создать собственное сообщение (выбросить исключение). Если вы используетеthrowиtry 、 catchвместе, вы можете управлять сообщениями об ошибках, выводимыми программой.
Для получения дополнительной информации об ошибках JavaScript обратитесь к нашемуруководству «Ошибки JavaScript».
Поддержка браузеров
| Инструкция | |||||
|---|---|---|---|---|---|
| try/catch/finally | Да | Да | Да | Да | Да |
Синтаксис
tryCode - блок кода, который нужно попытаться выполнить
}
catch(err) {
catchCode - блок кода, который перехватывает ошибки
}
finally {
finallyCode - блок кода, который выполняется независимо от результата try/catch
}
Значения параметров
| Параметр | Описание |
|---|---|
| tryCode | Обязательно. Блок кода, который проверяет наличие ошибок. |
| err | Обязательный (если используется catch). Задает ошибку, присваиваемую локальной переменной. Эта переменная может ссылаться на объект Error (содержащий информацию о возникшей ошибке, например "'addlert' is not defined"). Если исключение создается инструкцией throw, переменная ссылается на объект, указанный в инструкции throw (см. "Дополнительные примеры"). |
| catchCode | Необязательный. Блок кода, выполняемый при возникновении ошибки в инструкции try. Если в инструкции try не возникает ошибка, этот код не выполняется. |
| finallyCode | Необязательный. Выполняется независимо от результата try/catch. |
Технические детали
| Версия JavaScript: | 1.4 |
|---|

Другие примеры
Пример
В этом примере проверяется, является ли введенное значение неверным, и если да, выбрасывается исключение.
Исключение перехватывается инструкцией catch, и выводится пользовательское сообщение:
Попробуйте сами »
Пример
finallyИнструкция выполняется независимо от результата try и catch:
Попробуйте сами »
Связанные страницы
Учебник по JavaScript:Ошибки JavaScript
Справочник JavaScript:Оператор throw в JavaScript
Справочник по инструкциям JavaScript Другие расширения