Режим обработки исключительных ситуаций в 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
.
VBScript поддерживаются два вида подпрограмм: встроенные функции и функции или процедуры пользователя.
Имеющиеся в VBScript функции, предназначенные для математических вычислений, описаны в табл. П2.14.
Таблица П2.14.Математические функции
Функция |
Описание |
Abs( x ) |
Возвращает абсолютное значение числа х |
Atn( x ) |
Возвращает арктангенс числа х |
Cos( x ) |
Возвращает косинус числа х |
Exp( x ) |
Экспоненциальная функция, возвращает число е, возведенное в степень х |
Int( x ) |
Возвращает целую часть числа х |
Log( х ) |
Возвращает натуральный логарифм числа х |
Rnd[( х )] |
Возвращает случайное число от 0 до 1 |
Round( х[, nvmdecimal] ) |
Возвращает результат округления числа х с точностью до numdecimal знаков после запятой |
Sgn( х ) |
Знаковая функция числа х |
Sin( х ) |
Возвращает синус числа х |
Sqr( х ) |
Вычисляет квадратный корень из числа х и возвращает полученное значение |
Tan( x ) |
Возвращает тангенс числа х |
Наиболее часто используемые функции, с помощью которых можно производить различные операции над символьными строками, описаны в табл. П2.15.
Таблица П2.15.Символьные функции
Функция |
Описание |
Asc( str ) |
Возвращает ASCII-код первого символа в строке str |
Chr( code ) |
Возвращает символ с ASCII-кодом code |
InStr( [start,] str1, str2[, compare] ) |
Возвращает индекс символа, с которого начинается первое вхождение подстроки str2 в строку str1 . Параметр start задает номер символа, с которого следует начинать поиск. Если этот параметр не задан, то поиск производится с начала строки. Поиск производится слева направо. Параметр compare задает режим сравнения при обработке строк (0 — двоичное, сравнение, 1 — текстовое сравнение) |
InStrRev( str1, str2[, start[, compare]] ) |
То же самое, что функция InStr , но поиск производится справа налево, т.е. возвращается номер последнего символа, с которого начинается вхождение подстроки str2 в строку str1 |
Join(list[, delim] ) |
Возвращает строку, полученную в результате конкатенации подстрок, содержащихся в массиве list . Параметр delim задает символ, разделяющий подстроки (по умолчанию таким символом является пробел) |
LCase( str ) |
Возвращает строку, в которой все алфавитные символы преобразованы к нижнему регистру |
Left( str, len ) |
Возвращает len символов с начала строки str |
Len( str ) |
Возвращает число символов в строке str |
LTrim( str ), RTrim( str ), Trim( str ) |
Удаляет из строки str начальные, конечные или и те и другие пробелы соответственно |
Mid(str, start[, len] ) |
Возвращает из строки str подстроку, которая начинается с позиции start и имеет длину len . Если параметр len не указан, то возвращаются все символы, начиная с позиции start до конца строки str |
Replace( expr, find, replacewith[, start[, count[, compare]]] ) |
Возвращает строку, которая получается из строки expr путем замен входящих в нее подстрок find на подстроки replacewith . Параметр count определяет число подстрок, которые будут обработаны таким образом (по умолчанию производятся все возможные замены). Параметр compare задает режим сравнения при работе со строками (0 — двоичное сравнение, 1 — текстовое сравнение) |
Right( str, len ) |
Возвращает len символов с конца строки str |
Space( x ) |
Возвращает строку, состоящую из х пробелов |
Split (Expr[, delim[, count[, compare]]] ) |
Возвращает массив строк, полученных в результате разбиения строки Expr на подстроки. Параметр delim задает символ, разделяющий подстроки (по умолчанию таким символом является пробел). Параметр count определяет число подстрок, которые будут обработаны таким образом (по умолчанию в массив записываются все подстроки). Параметр compare задает режим сравнения при работе со строками (0 — двоичное сравнение, 1 — текстовое сравнение) |
StrComp (str1, s tr2[, compare] ) |
Возвращает число — результат сравнения строк str1 и str2 . Если str1 , то возвращается -1; если str1=str2 , то возвращается 0; если str1>str2 , то возвращается 1. Параметр compare задает режим сравнения при работе со строками (0 — двоичное сравнение, 1 — текстовое сравнение) |
String( number, char ) |
Возвращает строку, состоящую из number символов char |
UCase( str ) |
Возвращает строку, в которой все алфавитные символы преобразованы к верхнему регистру |
Для работы с датой и временем в VBScript имеется большой набор функций, основные из которых приведены в табл. П2.16.
Читать дальше