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?

Err Object

実行時エラーに関する情報を含みます。

Description

Err オブジェクトはグローバル・スコープの内部オブジェクトです。インスタンスを生成する必要はありません。Err オブジェクトは実行時エラーに関する情報を含み、実行時エラーを生成する Raise メソッドと、エラーをクリアする Clear メソッドを提供します。

Err オブジェクトのプロパティはエラーの生成元が設定します。つまり、Caché Basic の実行時システムがエラーの状態に応じて設定するか、Raise メソッドを呼び出したプログラムが設定します。

実行時エラーの発生時、Err オブジェクトのプロパティには、エラーの状態を一意に識別する情報と、その説明情報が入力されます。

Err オブジェクトは、Basic のプログラムの任意の場所から参照可能ですが、含んでいるのは最後のエラーのデータのみです。

プロパティ

これらのプロパティには数値または文字列リテラルを指定するか、またはリテラルに解決される式を指定できます。

番号

エラー・コードを一意に定義する番号です。番号 1 から 512 は、システムにより生成された実行時エラーを表すために、Caché Basic により予約されています。513 以上の番号はプログラマ用の番号です。

説明

エラーの種類を説明するテキストの記述です。

ソース

エラーの発生源についてのテキストの記述です。エラーが発生したプログラムの名前である場合や、または、オブジェクトの名前である場合もあります。可能な場合、エラーが発生したコード内の場所も指定します。

メソッド

Clear()

エラーの状態をクリアし、オブジェクトのプロパティを空の文字列に設定します。Clear メソッドは引数を取りません。括弧の使用はオプションです。

Raise(number [,description [,source]])

このメソッドは、ユーザ定義の例外を生成します。

Raise メソッドには以下の引数があります。

number エラー番号。
description オプション — エラーの説明。
source オプション — エラーに関係する場所。

Raise メソッドを使用して例外を生成すると、Err オブジェクトのプロパティはまずクリアされ、次に対応する引数が設定されます。

Raise メソッドと Err オブジェクトは通常 TRY 文および CATCH 文と共に使用されます。

以下の例では、Err.Raise メソッドを使用してエラーを生成します。エラーの引数を表示した後、Err.Clear メソッドを使用してこれらのエラー引数値をクリアします。

Main:
  On Error Goto ErrorHandler
  Println "before the error"
  Err.Raise(100,"Deliberate Error","Main line 3")
  Println "after the error"    ' should not print
ErrorHandler:
  Println "Error1: ", Err.Number, " ", Err.Description," ", Err.Source
  Err.Clear()
  Println "Error2: ", Err.Number, " ", Err.Description," ", Err.Source

以下の例は、関数での Err オブジェクトの使用方法を示しています。

Println ErrorTest(1)
Println ErrorTest(0)

Function ErrorTest(Arg)
  On Error Goto ErrorHandler
  return 1/Arg
ErrorHandler:
  Println "Error ", Err.Number, " ", Err.Description," ", Err.Source
  Err.Clear()
  return 0
End Function

関連項目

FeedbackOpens in a new tab