VB6・VBA関数メモ:IsError関数

IsError関数についてメモしておきます。
指定値がCVErr関数で作成されたユーザ定義のエラーかどうかを判定します。
システム既定のエラー値は判定されないので注意です。


概要

IsError(Expression) As Boolean
機能 ユーザ定義のエラーか否かを返す
引数 Expression 検証する値 Variant型
戻り値 ユーザ定義のエラーの場合「True」
ユーザ定義のエラーではない場合「False」
Boolean型


使用例

説明 記述例 出力
ユーザ定義のエラーを指定した場合
Dim var
var = CVErr(123)
Debug.Print IsError(var)
True


動作検証

説明 記述例 出力
システム既定のエラーは検証されない
On Error Resume Next
Dim var
var = 1 / 0
Debug.Print IsError(Err)
Debug.Print IsError(Err.Description)
Debug.Print IsError(Err.HelpContext)
Debug.Print IsError(Err.HelpFile)
Debug.Print IsError(Err.LastDllError)
Debug.Print IsError(Err.Number)
Debug.Print IsError(Err.Source)
Debug.Print IsError(Error)
False
False
False
False
False
False
False
False
NullやNothing等でもFalseが返る
IsError(Null)
False
IsError(Nothing)
False
IsError(vbNullString)
False
IsError("")
False
IsError(0)
False
IsError(-1)
False


応用例

説明 記述例 出力
関数の戻り値がエラーか否かを判定
(例では数値以外が指定されると
ユーザ定義エラーを返す)
Function Sumple(Number)
    If IsNumeric(Number) Then
        Sumple = Number * 2
    Else
        Sumple = CVErr(2001)
    End If
End Function
IsError(Sumple("abc"))
True
IsError(Sumple("123"))
False


コメント
コメントする








    
この記事のトラックバックURL
トラックバック