【PL/SQL】ユーザー定義例外
今回は「ユーザー定義例外」についての説明よ。
おう!
今日はこれから「Go to キャ〇ペーン」で
旅行に行くから手短に頼むぜ。
やめておいた方がよくなくて?
事故責任・・自己責任になるわよ。
トラベルじゃなく、トラブルって言われてるし。
まぁいいわ。手短に行くわ。
ユーザー指定のエラーコード範囲
ユーザーが使用できるエラーコードとして
「-20000」~「-20999」の1000個分あります。
ただ、「-20000」から数番は既存パッケージとかで使われているわ。
「-20500」あたりから使用するのがBESTね!
オッケーだぜ。
霊夢!
エラーメッセージの生成
エラーメッセージを生成するコードを
下に記載しまーす。
DECLARE
AAA BOOLEAN := TRUE;
BEGIN
IF AAA THEN
RAISE_APPLICATION_ERROR(-20500, 'AAAの変数はTRUEです。');
END IF;
AAA := FALSE;
END;
ほぉ~。
「RAISE_APPLICATION_ERROR」
でエラーを発生させるわけか。
そうそう。
第一引数にエラーコード、
第二引数にエラーメッセージを指定するのよ。
ユーザー定義例外のトラップ
発生させたエラーは、トラップしたいわよね。
下にコードを載せるわね。
DECLARE
TEST_ERR EXCEPTION; --(1)
PRAGMA EXCEPTION_INIT(TEST_ERR, -20500); --(2)
AAA BOOLEAN := TRUE;
BEGIN
IF AAA THEN
RAISE_APPLICATION_ERROR(-20500, 'AAAの変数はTRUEです。');
END IF;
AAA := FALSE;
EXCEPTION
WHEN TEST_ERR THEN --(3)
DBMS_OUTPUT.PUT_LINE('ユーザー定義のエラー');
RAISE;
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('それ以外のエラー');
RAISE;
END;
(1)で、任意の名前のエラーを宣言してるよ。
(2)で、エラーコードと、(1)で宣言したエラーを紐付けしてるわ。
(3)で、(1)のエラーをトラップしてるわ。
なるほど~。
“#$%#$%#&$%"(
ゲホげほGEHO
きゃー!!!!!!!
魔理沙が壊れた~。
すごい発熱じゃない!!!!
咳も!!!
旅行はキャンセルして家にいなさい!
キャンセル料は政府がもってくれるわ。たぶん。
仕組みはよくわからないけど。
昼の街も危険なのよ!
しばらく寝てれば大丈夫だぜ。
たぶん。東村ちきしょー
(ぴーっ!あっ、39.8度だ)
旅行は行くぜ!
またな~。
寝てなさい!キッ!(ドラちゃん並みの空気砲)