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');ENDNo 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.