VantageがJava外部ルーチンから例外を受け取ったときに適用される処理ルールは次のとおりです。
例外のクラス | 结果 |
---|---|
SQLExceptionではない場合 | Vantageは、SQLSTATEの値として38000を返します。以下に例を示します。*** Failure: Statement = 1 Info 0 Code 7828: Unexpected Java Exception SQLSTATE 38000: An java.lang.NullPointerException exception was thrown. この状態は、一般に外部ルーチンで例外を取得できなかった場合に起こります。 |
SQLExceptionの場合 | SQLStateフィールドが5桁で、最初の2桁が38の場合、VantageはSQLSTATE値を返します。以下に例を示します。SEL o_id, std_dev(o_amount); FROM orders; *** Failure 7825 in UDF/XSP/UDM UDFExample.std_dev: SQLSTATE 38U01: User Exception Text. これは、UDFから正しく返されたエラーと考えられます。 SQLStateフィールドが範囲外の場合、VantageはSQLSTATEの値として39001を返します。以下に例を示します。 SEL o_id, std_dev(o_amount); FROM orders; *** Failure 7827 Java SQL Exception SQLSTATE 39001: Invalid SQL state (45100). |