Avant de faire un article complet sur les exceptions en PL/SQL, je publie la liste des exceptions prédéfinies Oracle dont mes étudiants pourraient avoir besoin.
Parmi des milliers d’exceptions, il parait logique que seules les plus courantes soient nommées. Il reste possible d’en nommer d’autres si le besoin s’en fait ressentir.
Ces exceptions sont déclarées dans le package STANDARD
qui permet, entre autre, de préparer un environnement PL/SQL. Le contenu de ce package est directement utilisable sans le référencer. C’est à dire que vous n’avez pas besoin de préfixer le nom de l’exception par le nom du package.
Exception prédéfinie | Erreur Oracle | SQLCODE |
---|---|---|
ACCESS_INTO_NULL |
ORA-06530 | -6530 |
CASE_NOT_FOUND |
ORA-06592 | -6592 |
COLLECTION_IS_NULL |
ORA-06531 | -6531 |
CURSOR_ALREADY_OPEN |
ORA-06511 | -6511 |
DUP_VAL_ON_INDEX |
ORA-00001 | -1 |
INVALID_CURSOR |
ORA-01001 | -1001 |
INVALID_NUMBER |
ORA-01722 | -1722 |
LOGIN_DENIED |
ORA-01017 | -1017 |
NO_DATA_FOUND |
ORA-01403 | +100 |
NOT_LOGGED_ON |
ORA-01012 | -1012 |
PROGRAM_ERROR |
ORA-06501 | -6501 |
ROWTYPE_MISMATCH |
ORA-06504 | -6504 |
SELF_IS_NULL |
ORA-30625 | -30625 |
STORAGE_ERROR |
ORA-06500 | -6500 |
SUBSCRIPT_BEYOND_COUNT |
ORA-06533 | -6533 |
SUBSCRIPT_OUTSIDE_LIMIT |
ORA-06532 | -6532 |
SYS_INVALID_ROWID |
ORA-01410 | -1410 |
TIMEOUT_ON_RESOURCE |
ORA-00051 | -51 |
TOO_MANY_ROWS |
ORA-01422 | -1422 |
VALUE_ERROR |
ORA-06502 | -6502 |
ZERO_DIVIDE |
ORA-01476 | -1476 |