Les exceptions en PL/SQL

Les exceptions en PL/SQL

sommaire :

  1. Syntaxe
  2. Exemple
 

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

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

exception-data-not-found

Note de l'article




1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, moyenne: 4,00 max : 5)
Loading ... Loading ...

Donner votre avis :