Книга: Windows Script Host для Windows 2000/XP
Обработка исключительных ситуаций
Обработка исключительных ситуаций
Во время выполнения сценария могут возникать различные исключительные ситуации (например, деление на ноль или попытка открыть несуществующий файл), которые приводят к ошибкам времени выполнения — при этом на экран выводится диалоговое окно с сообщением об ошибке и выполнение сценария прекращается.
Существует возможность написать код сценария таким образом, чтобы исключительные ситуации не приводили к завершению работы, а обрабатывались бы внутри сценария. Для осуществления подобной обработки исключительных ситуаций в JScript необходимо использовать конструкцию try…catch
. Синтаксис следующий:
try
Защищенный блок
catch (except)
Блок обработки исключительных ситуаций
После ключевого слова try
здесь записываются те операторы, при выполнении которых потенциально может возникнуть ошибка. В качестве параметра except
надо использовать любое имя переменной (предварительно объявлять эту переменную не нужно). Если в защищенном блоке не возникло ошибки, то значение этой переменной будет равно нулю; в случае же возникновения исключительной ситуации управление сразу передается в блок catch
, при этом переменная except
как экземпляр объекта Error
будет содержать два свойства: error
— числовой код возникшей ошибки и description
— краткое описание ошибки.
В качестве примера приведем часть сценария, в которой происходит обработка исключительных ситуаций при подключении сетевого диска:
try {
//Подключаем сетевой диск
WshNetwork.MapNetworkDrive(Drive, NetPath);
} catch (e) {
//Обрабатываем возможные ошибки
if (e != 0) {
//Выводим сообщение об ошибке
Mess="Ошибка при подключении диска " + Drive + " к " + NetPath+
"nКод ошибки: "+е.number+"nОписание: "+е.description;
WshShell.Popup(Mess, 0, "Подключение сетевого диска", vbCritical);
}
}
- Обработка перехваченных ошибок
- 5.4 Команда trap: обработка прерываний
- 15.3. Обработка изображений при помощи RMagick
- 15.1.3. Обработка сигналов управления заданиями
- ГЛАВА 4 Обработка исключений
- Обработка запросов с помощью PHP
- ГЛАВА 6. Структурированная обработка исключений
- Обработка ошибок
- Скрипт «Обработка входящего звонка от потенциального клиента»
- Обработка данных на промежуточном уровне
- 7.5.4. Обработка на сервере
- 26.7. Обработка дополнительных аргументов