Tipos de excepciones en Oracle PLSQL y su sintaxis
Oracle permite gestionar excepciones. Las excepciones suelen producirse cuando hay un error en la ejecución de un bloque PL/SQL, y como en otros lenguajes de programación es posible manipularlas, ya sea interrumpiendo la ejecución o propagando la excepción para que se trate en otra parte del código.
Un ejemplo de sintaxis podría ser este.
WHEN excepcion1 OR excepcion2THEN expression;
WHEN excepcion3 THEN expression; WHEN OTHERS THEN expression;
Vemos que podemos especificar la excepción a tratar. WHEN OTHERS sirve para tratar el resto de excepciones sin especificar su nombre.
Predefinida por Oracle. Son las que ya vienen predefinidas por el servidor Oracle como por ejemplo.
Ejemplo:
BEGIN SELECT ...; EXCEPTION WHEN ZERO_DIVIDE THEN expression; DBMS_OUTPUT.PUT_LINE('La operación de ' || TO_CHAR(variable) || ' es inválida');END
No predefinida por Oracle. Son las que no tienen un nombre asociado como las anteriores, pero sí un número. Por ejemplo para interrumpir en caso de una violación de integridad:
DECLARE nombreExcepcion EXCEPTION; PRAGMA EXCEPTION_INIT(nombreExcepcion, -2292); ... BEGIN ... EXCEPTION WHEN nombreExcepcion THEN DBMS_OUTPUT.PUT_LINE ('Excepción de integridad producida'); ...END;
Definida por el programador. Son las que pueden definir los programadores para gestionar los errores en su código.
DECLAREnombreExcepcion EXCEPTION;
...BEGIN...RAISE nombreExcepcion;...EXCEPTIONWHEN nombreExcepcion THENDBMS_OUTPUT.PUT_LINE('Se ha producido una excepción');
Esto son los tipos de excepciones que existen en PLSQL del servidor Oracle.