@errorマクロに手動で値を設定します。
SetError ( code [, extended [, return value]] )
パラメータ
code | @errorマクロに設定する値(整数)。 |
extended | [オプション]@extendedマクロに設定するオプションの値(整数)。SetExtended()関数と同じマクロに設定します。 |
return value | [オプション]デフォルトの返し値をオーバーライドし、このパラメータを返すように設定します。 |
返し値
デフォルトでは返し値なし。ただしオプションで返し値を設定するとその値が返されます。
注意
関数に処理が移ると@errorは0に設定されます。SetError()を呼ばないが限り、関数が終了するまで@errorは0のままです。これは関数処理後に@errorを設定したい場合、明示的に設定しなければならないことを意味します。またWhile-WEndループ内で@errorをチェックしたい場合、@errorの値を変数に保存しておく必要があることを意味しています。
関連
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