Обработка исключительных ситуаций 

Обработка исключительных ситуаций 

Во время выполнения сценария могут возникать различные исключительные ситуации (например, деление на ноль или попытка открыть несуществующий файл), которые приводят к ошибкам времени выполнения — при этом на экран выводится диалоговое окно с сообщением об ошибке и выполнение сценария прекращается.

Существует возможность написать код сценария таким образом, чтобы исключительные ситуации не приводили к завершению работы, а обрабатывались бы внутри сценария. Для осуществления подобной обработки исключительных ситуаций в 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+

   " Код ошибки: "+е.number+" Описание: "+е.description;

  WshShell.Popup(Mess, 0, "Подключение сетевого диска", vbCritical);

 }

}