throw
EGL throw 文は、トリガーしたい例外を指定します。そうすることで、以下のような効果があります。
- プログラム処理が中止します
- 例外が try ブロック内でスローされた場合、 その try ブロック内の最初の適切な onException ブロックにコントロールが渡されます。 詳しくは、 tryを参照してください。
- 例外が try ブロック内でスローされない 場合、プログラムは指定された例外レコード内でメッセージを出して終了します。
throw 文を持つ例外式 (例外変数のタイプに解決される式。例外ステレオタイプを参照) を指定します。
次に、このような式で使用できる 2 つの書式を示します。
// 例外が既に定義されているとき
nullEx NullValueException;
...
throw nullEx;
// 定義および宣言
Record CustomerException type Exception
customerNumber INT;
end
...
throw new customerException {
customerNumber = custNum,
message = "Illegal customer number" };
例外はエラーが発生した位置から上方に伝搬します。try 文が、 どんなに深くネストされていても、try ブロックから呼び出されたすべての関数内で生じた例外を処理できます。例外処理のプロセスについて詳しくは、例外処理を参照してください。
構文

- exceptionExpression
- 値が例外変数と同じタイプである式
互換性
| プラットフォーム | 問題 |
|---|---|
| V6 の例外互換モード | v60ExceptionCompatibility プログラム・プロパティーが YES に設定されている場合、throw 文は無効です。 |