エラー処理
この章では、アプリケーション・エラーの処理に対して、Caché Basic が提供するメカニズムを説明します。
On Error Goto
On Error Goto 文を使用して、実行時エラーが発生した場合に行うアクションを定義することができます。
On Error Goto MyError
x = 1 / 0 'induce an error
PrintLn "We will never get here..."
' ...
MyError:
PrintLn "Error: " & Err.Description
実行時エラーが発生したとき、実行は On Error Goto 文で指定されたローカル・ラベルに移動します。Err オブジェクト (以下参照) は、エラーに関する情報を含みます。
Err オブジェクト
Err オブジェクトは、現在のエラーに関する情報を含む組み込みオブジェクトです。このオブジェクトは一般的に、On Error ハンドラと共に使用されます。
詳細は、リファレンス・ページの "Err オブジェクト" を参照してください。
システム状態オブジェクト
Caché クラス・ライブラリのメソッドの多くは、%StatusOpens in a new tab データ型を使用して、成功、または失敗の情報を返します。例えば、データベースに %PersistentOpens in a new tab オブジェクトのインスタンスを保存するときに使用される %Save メソッドは、オブジェクトが保存されたか否かを示す %StatusOpens in a new tab 値を返します。
Caché Basic では、System.Status オブジェクトを使用して %StatusOpens in a new tab 値の検査および操作を行えます。
例えば以下のコードは、必要な値が不足しているオブジェクトを保存しようとします。
person = New Sample.Person()
person.Name = "Nobody"
person.SSN = "" ' required!
' Save this object
status = person.%Save()
If (System.Status.IsError(status)) Then
System.Status.DisplayError(status)
End If
詳細は、リファレンスの "システム・オブジェクト" と "%SYSTEM.StatusOpens in a new tab クラス" を参照してください。