Sommaire

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 )) ;