Datos personales

Estudiantes de la Universidad Tecnologica Fidel Velázquez inscritos en el tercer cuatrimestre(2011/2). En la area de Sistemas Informáticos

lunes, 8 de agosto de 2011

EXCEPCIONES


 En PL/SQL una advertencia o condición de error es llamada una excepción.
    Las excepciones se controlan dentro de su propio bloque.La estructura de bloque de una excepción se muestra a continuación.

DECLARE -- Declaraciones
BEGIN
  -- Ejecucion
EXCEPTION
  -- Excepcion
END; 
    Cuando ocurre un error, se ejecuta la porción del programa marcada por el bloque EXCEPTION, transfiriéndose el control a ese bloque de sentencias.
    El siguiente ejemplo muestra un bloque de excepciones que captura las excepciones NO_DATA_FOUND y ZERO_DIVIDE. Cualquier otra excepcion será capturada en el bloque WHEN OTHERS THEN.


DECLARE -- Declaraciones
BEGIN
  -- Ejecucion
EXCEPTION
WHEN NO_DATA_FOUND THEN
  -- Se ejecuta cuando ocurre una excepcion de tipo NO_DATA_FOUNDWHEN ZERO_DIVIDE THEN  -- Se ejecuta cuando ocurre una excepcion de tipo ZERO_DIVIDE

WHEN OTHERS THEN  -- Se ejecuta cuando ocurre una excepcion de un tipo no tratado
  -- en los bloques anteriores

END;  

    Como ya hemos dicho cuando ocurre un error, se ejecuta el bloque EXCEPTION, transfiriéndose el control a las sentencias del bloque. Una vez finalizada la ejecución del bloque de EXCEPTION no se continua ejecutando el bloque anterior.
    Si existe un bloque de excepcion apropiado para el tipo de excepción se ejecuta dicho bloque. Si no existe un bloque de control de excepciones adecuado al tipo de excepcion se ejecutará el bloque de excepcion WHEN OTHERS THEN (si existe!). WHEN OTHERS debe ser el último manejador de excepciones.
    Las excepciones pueden ser definidas en forma interna o implícitamente por el usuario. Ejemplos de excepciones definidas en forma interna son la división por cero y la falta de memoria en tiempo de ejecución. Estas mismas condiciones excepcionales tienen sus propio tipos y pueden ser referenciadas por ellos: ZERO_DIVIDE y STORAGE_ERROR.
    Las excepciones definidas por el usuario deben ser alcanzadas explícita mente utilizando la sentencia RAISE.
    Con las excepciones se pueden manejar los errores cómodamente sin necesidad de mantener múltiples chequeos por cada sentencia escrita. También provee claridad en el código ya que permite mantener las rutinas correspondientes al tratamiento de los errores de forma separada de la lógica.

No hay comentarios:

Publicar un comentario