事前定義されたPL/SQL例外は特別です。 オラクルに。あなたは本当にそれらを台無しにすることはできません。独自の事前定義された例外のセットが必要な場合、標準の例外のように「グローバルに」宣言することはできません。代わりに、例外を作成してください すべての例外宣言を含み、それをアプリケーションで使用するパッケージ コード。
例:
CREATE OR REPLACE PACKAGE my_exceptions
AS
insert_null_into_notnull EXCEPTION;
PRAGMA EXCEPTION_INIT(insert_null_into_notnull, -1400);
update_null_to_notnull EXCEPTION;
PRAGMA EXCEPTION_INIT(update_null_to_notnull, -1407);
END my_exceptions;
/
次に、パッケージで定義されている例外を使用します
CREATE OR REPLACE PROCEDURE use_an_exception AS
BEGIN
-- application specific code ...
NULL;
EXCEPTION
WHEN my_exceptions.insert_null_into_notnull THEN
-- application specific handling for ORA-01400: cannot insert NULL into (%s)
RAISE;
END;
/
出典: http://www.orafaq.com/wiki/Exception