Les exceptions les plus utilisées
En dehors de l’exception « NOT_DATA_FOUND » que
nous avons vue dans les exemples précédents, il
existe une multitude d’autres exceptions. Nous n’allons pas les
citer toutes dans ce livre mais en voici quelques-unes qui peuvent être
utiles.
CURSOR_ALREADY_OPEN : le curseur est déjà ouvert. Il faut
le fermer avant de le réouvrir (sqlcode --> 06511)
INVALID_NUMBER : la variable utilisée ne contient pas un numéro
valide (sqlcode --> 01722)
NOT_LOGGED_ON : l’utilisateur n’est pas connecté à la
base de données (sqlcode --> 01012)
TOO_MANY_ROWS : la sélection ramène plusieurs lignes
alors que le select ne prévoit qu’une seule occurrence,
faire un curseur (sqlcode --> 01422)
ZERO_DIVIDE : division par zéro (sqlcode --> 01476)
Pour traiter tout type d’erreur, il est préférable
d’ajouter systématiquement un test de ce type afin d’afficher
l’erreur au moindre problème.
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE( ’Le numéro de l erreur est : ’||
TO_CHAR( SQLCODE )) ;
DBMS_OUTPUT.PUT_LINE( ’correspondant à : ’||
TO_CHAR( SQLERRM )) ;