Una excepción se genera cuando se produce un error en oracle. Estas excepciones se pueden gestionar.
declare
...
begin
...
EXCEPTION
WHEN excepcion 1 [ OR excepcion 2 ] THEN
accion;
accion;
WHEN excepcion 3 [ OR excepcion 4 ] THEN
accion;
WHEN OTHERS THEN
accion;
end;
/
Como ves puedes controlar todas las excepciones posibles. O bien llamandolas por su nombre o bien cuando se de alguna no prevista ( OTHERS )
Claro está que podemos definir nuestras própias excepciones. Para hacer que el programa pare cuando nosotros se lo indiquemos. Esto se hace definiendo una excepción y asociandola. Para posteriormente poder utilizarla.
Para interrumpir un error no predefinido hay que declararlo primero. o utilizar el manejador OTHERS. Para las excepciones declaradas se usa la directiva PRAGMA_EXCEPTION_INIT para indicar al compilador que asocie un nombre de excepción con un número de error Oracle. Visita la documentación de Oracle para saber mas sobre este tema.
Se puede provocar una excepción mediante la palabra clave RAISE_APPLICATION_ERROR que las invoca.
... IF SQL%NOTFOUND THEN RAISE_APPLICATION_ERROR(-20202, 'excepcion invocada por el usuario'); END IF ...