Функция SetError

 ↑  ←  Описание функции


SetError

Устанавливает значение макроса @error.

SetError ( code [, extended = 0 [, return value = 1 ]] )

Параметры

code Число, которое будет присвоено макросу @error.
extended [необязательный] Число, которое будет присвоено макросу @extended. По умолчанию 0
return value [необязательный] Функция вернёт данный параметр вместо своего обычного возвращаемого значения. По умолчанию 1

Возвращаемое значение

По умолчанию возвращает 1, однако, если указан 3-ий параметр (return value), функция возвращает его.

Примечания

Вначале выполнения функции @error равен 0. Если вы не устанавливаете @error с помощью SetError(), то после завершения функции @error равен 0, даже если внутренние вызовы функций устанавливают иное значение. Это означает, что для того чтобы установить @error после выполнения функции, вы должны явно установить значение с помощью SetError(). Это также означает, что вам, возможно, потребуется продублировать значение @error в переменную, если вы проверяете его в цикле While-WEnd.
Дополнительный параметр не обязательный. Это только способ установки обоих параметров @error и @extended одновременно. Если требуется только @extended, то рекомендуется использовать SetExtended().
Значение параметра code имеет ограничение, может быть в пределах от -2147483647 до 2147483647 (0x7FFFFFFF)

См. также

SetExtended, Func...Return...EndFunc

Пример

$iResult = myDiv(5, 0)
If @error Then
    MsgBox(4096, "Ошибка", "Деление на 0 не допустимо")
Else
    MsgBox(4096, "Результат", $iResult)
EndIf
Exit

Func myDiv($iDividend, $iDivisor)
    If $iDividend = 0 And $iDivisor = 0 Then
        SetError(2) ; неопределённая форма 0/0
    ElseIf $iDivisor = 0 Then
        SetError(1) ; обычное деление на 0
    EndIf
    Return $iDividend / $iDivisor
EndFunc