
SJikTest 145
Пример. Следующий блок кода открывает сеанс связи с базой
данных по ее DSN-имени и генерирует его идентификатор под-
ключения (handle) для использования в других функциях работы
с БД. В случае ошибки выдается ошибка исполнения:
do
hdbc = DB_Connect ("DSN=
FT
ight32")
except
LogError ("Невозможно открыть сеанс связи с БД")
Иногда возникает необходимость
—
если, конечно, у вас развитая сеть
обработки ошибок ~ самому «вызвать» ошибку Р1з скрипта. Зачем
это может понадобиться? Например, в случае, если возьпгкшая ситуа-
ция не является ошибочной для SilkTest, но становится серьезной
ошибкой для вас. Примером может послужить неправильное значе-
ние баланса в бухгалтерской программе. При такор! ошибке все по-
следующие тест-скрипты не будут иметь смысла, но для SilkTest это
не является ошибкой. В этих случаях применяются функции raise
PI reraise.
Функция raise используется для «ручрюго» (а не по умолчанию)
вызова ошибки из кода и имеет следующий синтаксис:
raise [integer-expr [. expr [, cmd-line]]]
где integer-expr
—
код ошибки (необязательный параметр); ехрг
—
опи-
сание ошибки (необязательный параметр); cmd-line
—
строка, запи-
сываемая в файл результатов вместе с сообщением об ошибке.
Функция reraise используется в тех случаях, когда обработчик не
ожидает ошргбки и Baivi нужно передать сообщение «выше по лестни-
це» для обработчиков на уровне скрипта или даже тест-сценария.
Функция имеет следующей! синтаксис:
reraise
Пример. Следующий блок кода открывает сеанс связи с базой
данных по ее DSN-имени и генерирует его идентификатор под-
ключения для использования в других функциях работы с БД:
do
hdbc
=
DB__Connect
("DSN=
Flight32")
do
hstmnt
=
DB_ExecuteSq1 (hdbc. " SELECT * FROM Orders
")
DB_FetchNext (hstmnt, order_number, product)
if (order^number !="10")
raise 1, "ERROR: Test verification failed"