Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

エラー処理

この章では、アプリケーション・エラーの処理に対して、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 クラス" を参照してください。

FeedbackOpens in a new tab