Les exceptions PL/SQL prédéfinies sont spéciales à Oracle. Vous ne pouvez vraiment pas jouer avec ceux-là. Lorsque vous souhaitez disposer de votre propre ensemble d'exceptions prédéfinies, vous ne pouvez pas les déclarer "globalement" comme les exceptions standard. Au lieu de cela, créez une exceptions package contenant toutes les déclarations d'exception et utilisez-le dans votre application code.
Exemple :
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;
/
Utilisez maintenant l'exception définie dans le package
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;
/
Source :http://www.orafaq.com/wiki/Exception