例外の種類
例外は大きく分けて以下の3つに分類される。
- PL/SQLに事前に定義されているもの
- Oracleのエラーに対して自分で定義したもの
- アプリケーションの要件によるエラーに対して自分で定義したもの
基本構文
1.PL/SQLに事前に定義されているもの
2.Oracleのエラーに対して自分で定義したもの
3アプリケーションの要件によるエラーに対して自分で定義したもの
ex)
DECLARE
--2)Oracleのエラーに対して自分で定義したもの
ORA_600 EXCEPTION;
PRAGMA EXCEPTION_INIT(ORA_600, -600);
--3)アプリケーションの要件によるエラーに対して自分で定義したもの
ERR_20100 EXCEPTION;
PRAGMA EXCEPTION_INIT(ERR_20100, -20100);
BEGIN
--RAISE_APPLICATION_ERROR(-20100,'ERROR 20100');
RAISE_APPLICATION_ERROR(-20101,'ERROR_20101');
EXCEPTION
--ここに記述
--1)PL/SQLに事前定義されているもの
WHEN NO_DATA_FOUND THEN
--例外処理
DBMS_OUTPUT.PUT_LINE('NO_DATA_FOUND');
--2)Oracleのエラーに対して自分で定義したもの
WHEN ORA_600 THEN
--例外処理
DBMS_OUTPUT.PUT_LINE('ORA_600');
WHEN ERR_20100 THEN
DBMS_OUTPUT.PUT_LINE('-20100');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE || ',' || SQLERRM);
END;
コメント