Цикл While…Wend
записывается в следующем виде:
While условие
тело цикла
Wend
Таким образом, в цикле While…Wend
условие выполнения тела цикла проверяется перед началом очередной итерации. Если условие равно true
, то тело цикла выполняется, в противном случае цикл завершается.
Пример использования цикла While…Wend
приведен в листинге П2.3.
While…Wend
Dim theMoments, theCount
theMoments = ""
theCount = 42 'Начальное значение счетчика цикла
While (theCount >= 1)
If (theCount > 1) Then
theMoments = "До взрыва осталось " & theCount & " сек!"
Else
theMoments = "Осталась секунда!"
End If
theCount = theCount - 1 'Уменьшаем значение счетчика
Wend
theMoments = "ВЗРЫВ!"
Цикл Do…Loop
Этот цикл может применяться в двух видах (с предусловием, которое проверяется до начала очередной итерации, и с пост-условием, которое проверяется после окончания итерации):
Do [While | Until] условие
тело цикла
[Exit Do]
тело цикла
Loop
или
Do
тело цикла
[Exit Do]
тело цикла
Loop [While | Until] условие
Если в цикле используется ключевое слово While
, то итерации продолжаются до тех пор, пока условие
равно true
; если же применяется Until
, то как только значением условия станет true
, произойдет выход из цикла.
Оператор Exit Do
позволяет выйти из цикла до завершения его итераций.
Пример использования цикла Do…Loop
приведен в листинге П2.4.
Do…Loop
Dim howFar 'Верхний предел для счетчика цикла
Dim sum(10) 'Массив из 11 элементов, индексы от 0 до 10
Dim icount, theSum
howFar = 10
theSum = 0
sum(0) = 0
'Цикл выполнится 11 раз
Do
theSum = theSum+icount
sum(icount) = theSum
icount=icount+l
Loop While (icount < howFar)
Прочие операторы
Рассмотрим еще несколько часто применяемых операторов (табл. П2.13).
Таблица П2.13. Прочие операторы
Оператор | Описание |
---|---|
. |
Точка. Применяется для доступа к свойству объекта или для вызова его метода |
() |
Скобки. Применяются либо для изменения порядка вычисления выражений, либо для передачи параметров функциям, либо для индексирования массива |
& |
Оператор конкатенации (склеивание между собой) символьных строк |
With…End With |
Позволяет обращаться к свойствам объекта без написания имени этого объекта |
Обработка исключительных ситуаций
Режим обработки исключительных ситуаций в VBScript включается с помощью оператора On Error Resume Next
. Если после этого при исполнении какою-либо оператора в сценарии произойдет ошибка времени выполнения, то управление передастся к следующему оператору в тексте.
Для анализа ошибок используется специальный объект Err
, который содержит два свойства: Number
— числовой код возникшей ошибки и Description
— краткое описание этой ошибки.
В качестве примера приведем часть сценария, в которой происходит обработка исключительных ситуаций при подключении сетевого диска:
On Error Resume Next ' Включаем обработку ошибок времени выполнения
' Подключаем сетевой диск
WshNetwork.MapNetworkDrive Drive, NetPath
If Err.Numbero<>0 Then
Mess="Ошибка при подключении диска " & Drive & " к " & NetPath &_
"Код ошибки: " & е.number & "Описание: " & е.description
WshShell.Popup Mess, 0, "Подключение сетевого диска", vbCritical
Else
' Все в порядке
Mess = "Диск " & Drive & " успешно подключен к " & NetPath
WshShell.Popup Mess, 0, "Подключение сетевого диска", vbInformation
End If
Для отмены режима обработки исключительных ситуаций нужно выполнить оператор On Error Goto 0
.