Oracle PL/SQL ユーザ定義例外について

スポンサーリンク

ユーザ定義例外について

ユーザー定義例外は、Oracleが事前に定義しているエラーではなく自分で自由に作成できる例外です。

ユーザ定義例外の定義方法

以下のように宣言部でユーザ定義例外を定義します。

<例外名> EXCEPTION;

ユーザ定義例外の呼び出し方法

宣言部で宣言したユーザ定義例外を以下のように「RAISE」で呼び出すことができます。

RAISE <例外名>;

ユーザ定義例外の実行例

以下は「いるか」の場合に自分で作成したユーザ定義例外の処理を行うプログラムです。

DECLARE
    animal VARCHAR2(10);
    dolphin_err EXCEPTION;
BEGIN
    animal := 'いるか';
    IF animal = 'いるか' THEN
        RAISE dolphin_err;
    END IF;
    DBMS_OUTPUT.PUT_LINE('正常終了!!!');
EXCEPTION
    WHEN dolphin_err THEN
        DBMS_OUTPUT.PUT_LINE('例外終了!!!');
END;
/
SQL> DECLARE
  2      animal VARCHAR2(10);
  3      dolphin_err EXCEPTION;
  4  BEGIN
  5      animal := 'いるか';
  6      IF animal = 'いるか' THEN
  7          RAISE dolphin_err;
  8      END IF;
  9      DBMS_OUTPUT.PUT_LINE('正常終了!!!');
 10  EXCEPTION
 11      WHEN dolphin_err THEN
 12          DBMS_OUTPUT.PUT_LINE('例外終了!!!');
 13  END;
 14  /
例外終了!!!

PL/SQLプロシージャが正常に完了しました。

自分で作成した「ユーザ定義例外」がきちんと呼び出されてますね\(^o^)/

コメント

タイトルとURLをコピーしました