Les exceptions en PL/SQL
Le PL/SQL offre un moyen d’identifier et de traiter les éventuelles erreurs à l’aide du mécanisme des exceptions.
Nous nous allons voir comment définir, déclencher et traiter les exceptions en PL/SQL.
Le bloc PL/SQL possède comme structure type, celle-ci :
[DECLARE]
déclarations et initialisation
BEGIN
instructions exécutables
[EXCEPTION]
interception des erreurs
END;
Dans un premier temps nous allons créer un bloc PL/SQL avec une erreur sans la gestion exception.
Puis allons capturer l’erreur avec un la gestion d’exception.
DECLARE
sName USERS.NAME%TYPE;
BEGIN
BEGIN
SELECT NAME INTO sName FROM USERS WHERE 0 = 1;
DBMS_OUTPUT.PUT_LINE( sName ) ;
END;
DBMS_OUTPUT.PUT_LINE( 'Le script continue.' ) ;
END;
/
eh la ! Oracle nous envoi une belle erreur !
On voit que le script s’est arrête dès l’apparition de l’erreur.

error 01403 pl sql
On va capturer l’erreur en déclarant une exception.
Voici ce que cella va donnée :
DECLARE
sName USERS.NAME%TYPE;
BEGIN
BEGIN
SELECT NAME INTO sName FROM USERS WHERE 0 = 1;
DBMS_OUTPUT.PUT_LINE( sName ) ;
EXCEPTION
WHEN NO_DATA_FOUND then
DBMS_OUTPUT.PUT_LINE( 'Il n''y a aucun utilisateur.' ) ;
END;
DBMS_OUTPUT.PUT_LINE( 'Le script continue.' ) ;
END;
/
note à part : pour mettre échapper un caractère en PL/SQL, il faut simplement le doubler . ex :
(‘ => »)
( » => »")
( =>\)
Après exécution du bloc, on voit que l’erreur n’apparait pas (elle est capturée) et que le script continu à tourner

exception-data-not-found


(2 votes, moyenne: 4,00 max : 5)
Note de l'article