01. try-catch-finally
Исключения перехватываются с помощью обработчика try-catch-finally
. Когда возбуждается исключение, интерпретатор JS немедленно прерывает нормальное выполнение программы и переходит к ближайшему обработчику исключений.
Работает try-catch-finally
так:
Выполняется код внутри блока
try
.Если в нём ошибок нет, то блок
catch(err)
игнорируется, то есть выполнение доходит до концаtry
и потом прыгает черезcatch
.Если в нём возникнет ошибка, то выполнение
try
на ней прерывается, и управление прыгает в начало блокаcatch(err)
.При этом переменная
err
(можно выбрать и другое название) будет содержать объект ошибки с подробной информацией о произошедшем.Если есть блок
finally
, то он срабатывает вне зависимости от того, было выброшено исключение или нет.И блок
catch
, и блокfinally
не являются обязательными, однако после блокаtry
должен обязательно присутствовать хотя бы один из них.Если блок
finally
возвращает значение, то данное значение становится возвращаемым значением всей связкиtry-catch-finally
. Значения, возвращаемые блокамиtry
иcatch
, будут проигнорированы.
try..catch
работает только в синхронном коде:
Last updated
Was this helpful?