Книга: JavaScript. Подробное руководство, 6-е издание
11.6. Множественные блоки catch
11.6. Множественные блоки catch
В JavaScript 1.5 инструкция try/catch
была добавлена возможность использовать несколько блоков catch
. Чтобы использовать эту возможность, необходимо, чтобы за именем параметра блока catch
следовало ключевое слово if
и условное выражение:
try {
// здесь могут возбуждаться исключения нескольких типов
throw 1;
}
catch(e if е instanceof ReferenceError) {
// Здесь обрабатывается исключение обращения к неопределенному имени
}
catch(e if е === "quit”) {
// Обработка исключения, получаемое в результате возбуждения сроки "quit"
}
catch(e if typeof e === "string") {
// Здесь обрабатываются все остальные строковые исключения
}
catch(e) {
// Здесь обрабатываются любые другие исключения
}
finally {
// Блок finally действует как обычно
}
Когда возникает какое-либо исключение, по очереди проверяются все блоки catch
. Исключение присваивается именованному параметру блока catch
и вычисляется условное выражение. Если оно возвращает true
, выполняется тело этого блока catch
, а все остальные блоки catch
пропускаются. Если блок catch
не имеет условного выражения, он ведет себя как блок с условным выражением if true
и выполняется всегда, если перед ним не был встречен блок catch
, удовлетворяющий условию. Если условное выражение присутствует во всех блоках catch
и ни в одном из них условное выражение не вернуло true
, исключение продолжит распространение как необработанное. Обратите внимание, что, поскольку условное выражение уже находится в круглых скобках блока catch
, его не требуется еще раз заключать в скобки, как в обычных инструкциях if
.
- Статистика по блокировкам
- Создание файлов с блокировкой
- Множественные интерфейсы и имена методов
- Не допускайте того, чтобы поток пользовательского интерфейса блокировался на длительное время
- Часть I Скрываем свое местонахождение и посещаем заблокированные сайты
- Блоки питания, используемые в компьютерах
- ГЛАВА 8 Блокировки чтения-записи
- Не хочу, чтобы компьютером пользовались в мое отсутствие. Как установить пароль и блокировать машину?
- Как заблокировать компьютер с помощью командной строки?
- Можно ли заблокировать клавиши для выключения компьютера?
- 8.6.1. Блокировка приема спама
- 8.6.2. Блокировка пересылки спама