ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
throw
|
throw ( errorCode {; description} ) | ||||||||
引数 | 型 | 説明 | ||||||
errorCode | 倍長整数 |
![]() |
エラーコードを表す倍調整数 | |||||
description | テキスト |
![]() |
エラーの説明 (テキスト) | |||||
throw {( errorObj )} | ||||||||
引数 | 型 | 説明 | ||||||
errorObj | オブジェクト |
![]() |
エラー構築用のプロパティを格納するオブジェクト | |||||
throw コマンドは、エラーを作成します。エラーは即座に、あるいはカレントメソッドの終了時に (遅延モード) スローされます。
4Dコード内で例外が発生した場合、throw コマンドで明示的にエラーをスローし、独自のエラーメッセージまたはエラー番号を提示することができます。これは、例外的な状態や無効な入力を知らせるのに便利です。
throw コマンドを使用してスローされたエラーは、通常のエラーと同様に 4Dランタイムによって管理されます。つまり、ON ERR CALLコマンドによって割り込みメソッドが実装されていない場合には、標準のエラーダイアログが表示されます。
このコマンドは 3つのシンタックスをサポートしています:
このシンタックスでは、エラーコードと説明のテキスト (任意) を指定し、エラーは即座にスローされます。
description 引数を渡さなかった場合には、次の情報が提示されます:
errorObj オブジェクト引数を使うことで、エラー情報をより詳細に指定し、エラー処理の管理をさらに強化できます。このオブジェクト引数には以下のプロパティのほか、messageプロパティのプレースホルダーを置き換えるためのカスタムプロパティを含めることができます。
プロパティ | 型 | 説明 |
componentSignature | text | エラーの発生源を一意に識別するための 4文字のラテン文字のシグニチャ。
|
errCode | number | エラーコード。
|
message | text | エラーの説明。
|
deferred | boolean | カレントメソッドの終了時またはTry ブロックの終了時にエラーを延期するかどうかを指定します。デフォルト値は false です。 |
このシンタックスを使用すると、Last errors で errorObjオブジェクトが返されます。
注記: 同じプロジェクトメソッド内でこのコマンドを複数回呼び出して、複数のエラーを生成することができます。遅延モードを使って、これらのエラーを一度にスローできます。
このシンタックスは、カレントエラーをすべて遅延モードでスローします。つまり、これらのエラーはエラースタックに追加され、カレントメソッド終了時に処理されます。これは通常、ON ERR CALL コールバック内でおこなわれます。
var $code : Integer
var $description : text
$code:=50042 // カスタムコード
$description:=“”
throw($code ;$description) // "これはカスタムエラーです" というメッセージと errCode = 50042 でエラーをスローします
throw({errCode: 1; message: "これはエラーです"}) // "これはエラーです" というメッセージと errCode = 1 でエラーをスローします
throw({errCode: 1}) // "Error code: 1 (host)" というメッセージと errCode = 1 でエラーをスローします
throw({message: "これはエラーです"}) // "これはエラーです" というメッセージと errCode = -1 でエラーをスローします
throw({message: "これはエラーです"; deferred: True}) // "これはエラーです" というメッセージと errCode = -1 でエラーを遅延モードでスローします
throw({componentSignature: "xbox"; errCode: 600; name: "myFileName"; path: "myFilePath"; deferred: True})
// "ファイル myFileName が見つかりません (myFilePath)" というメッセージのエラーを遅延モードでスローします
プロダクト: 4D
テーマ: 割込
番号:
1805
初出: 4D v20 R2
変更: 4D v20 R5
ランゲージリファレンス ( 4D v20 R7)