Excepciones en PL

Páginas: 6 (1334 palabras) Publicado: 19 de noviembre de 2013



Excepciones en PL/SQL
    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 elbloque 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 tipoNO_DATA_FOUND
WHEN 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 bloquede 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 serdefinidas en forma interna o explí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ícitamente utilizandola 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 del negocio.
Excepciones predefinidas 
    PL/SQL proporciona un gran número deexcepciones predefinidas que permiten controlar las condiciones de error más habituales.
    Las excepciones predefinidas no necesitan ser declaradas. Simplemente se utilizan cuando estas son lanzadas por algún error determinado.
    La siguiente es la lista de las excepciones predeterminadas por PL/SQL y una breve descripción de cuándo son accionadas:
Excepcion
Se ejecuta ...
SQLCODEACCESS_INTO_NULL
El programa intentó asignar valores a los atributos de un objeto no inicializado
-6530
COLLECTION_IS_NULL
El programa intentó asignar valores a una tabla anidada aún no inicializada
-6531
CURSOR_ALREADY_OPEN
El programa intentó abrir un cursor que ya se encontraba abierto. Recuerde que un cursor de ciclo FOR automáticamente lo abre y ello no se debe especificar con la sentencia OPEN-6511
DUP_VAL_ON_INDEX
El programa intentó almacenar valores duplicados en una columna que se mantiene con restricción de integridad de un índice único (unique index)
-1
INVALID_CURSOR
El programa intentó efectuar una operación no válida sobre un cursor
-1001
INVALID_NUMBER
En una sentencia SQL, la conversión de una cadena de caracteres hacia un número falla cuando esa cadena no representa unnúmero válido
-1722
LOGIN_DENIED
El programa intentó conectarse a Oracle con un nombre de usuario o password inválido
-1017
NO_DATA_FOUND
Una sentencia SELECT INTO no devolvió valores o el programa referenció un elemento no inicializado en una tabla indexada
100
NOT_LOGGED_ON
El programa efectuó una llamada a Oracle sin estar conectado
-1012
PROGRAM_ERROR
PL/SQL tiene un problema...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • PL
  • Pl
  • PL
  • pl
  • Pl
  • Estados De Excepción
  • Las excepciones
  • estados de excepción

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS