Las excepciones predefinidas son:
Excepción. | SQLCODE |
Lanzada cuando ... |
---|---|---|
ACCES_INTO_NULL |
-6530 | Intentamos asignar valor a atributos de objetos no inicializados. |
COLECTION_IS_NULL |
-6531 | Intentamos asignar valor a elementos de colecciones no inicializadas, o acceder a métodos distintos de EXISTS . |
CURSOR_ALREADY_OPEN |
-6511 | Intentamos abrir un cursor ya abierto. |
DUP_VAL_ON_INDEX |
-1 | Índice único violado. |
INVALID_CURSOR |
-1001 | Intentamos hacer una operación con un cursor que no está abierto. |
INVALID_NUMBER |
-1722 | Conversión de cadena a número falla. |
LOGIN_DENIED |
-1403 | El usuario y/o contraseña para conectarnos a Oracle no es válido. |
NO_DATA_FOUND |
+100 | Una sentencia SELECT no devuelve valores, o intentamos acceder a un elemento borrado de una tabla anidada. |
NOT_LOGGED_ON |
-1012 | No estamos conectados a Oracle. |
PROGRAM_ERROR |
-6501 | Ha ocurrido un error interno en PL/SQL. |
ROWTYPE_MISMATCH |
-6504 | Diferentes tipos en la asignación de 2 cursores. |
STORAGE_ERROR |
-6500 | Memoria corrupta. |
SUBSCRIPT_BEYOND_COUNT |
-6533 | El índice al que intentamos acceder en una colección sobrepasa su límite superior. |
SUBSCRIPT_OUTSIDE_LIMIT |
-6532 | Intentamos acceder a un rango no válido dentro de una colección (-1 por ejemplo). |
TIMEOUT_ON_RESOURCE |
-51 | Un timeout ocurre mientras Oracle espera por un recurso. |
TOO_MANY_ROWS |
-1422 | Una sentencia SELECT...INTO... devuelve más de una fila.
|
VALUE_ERROR |
-6502 | Ocurre un error de conversión, aritmético, de truncado o de restricción de tamaño. |
ZERO_DIVIDE |
-1476 | Intentamos dividir un número por 0. |