Function Reference

SetError

@errorマクロに手動で値を設定します。

SetError ( code [, extended [, return value]] )

 

パラメータ

code @errorマクロに設定する値(整数)。
extended [オプション]@extendedマクロに設定するオプションの値(整数)。SetExtended()関数と同じマクロに設定します。
return value [オプション]デフォルトの返し値をオーバーライドし、このパラメータを返すように設定します。

 

返し値

デフォルトでは返し値なし。ただしオプションで返し値を設定するとその値が返されます。

 

注意

関数に処理が移ると@errorは0に設定されます。SetError()を呼ばないが限り、関数が終了するまで@errorは0のままです。これは関数処理後に@errorを設定したい場合、明示的に設定しなければならないことを意味します。またWhile-WEndループ内で@errorをチェックしたい場合、@errorの値を変数に保存しておく必要があることを意味しています。
extendedパラメータはオプションです。この関数では@errorと@extendedを同時に設定することしかできません。@extendedのみを設定したい場合は代わりにSetExtended() 関数を使用してください。

 

関連

SetExtended

 


$result = myDiv(5, 0)
If @error Then
    MsgBox(4096,"Error", "Division by Zero")
Else
    MsgBox(4096, "Result", $result)
EndIf
Exit

Func myDiv($dividend, $divisor)
    If $dividend = 0 And $divisor = 0 Then
        SetError(2) ;0/0は計算不能とする
    ElseIf $divisor = 0 Then
        SetError(1) ;ゼロ割エラー
    EndIf
    Return $dividend / $divisor
EndFunc