IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

traitement des exceptions


Sujet :

SQL Oracle

  1. #1
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut traitement des exceptions
    y'a-t'il quelque chose qui s'execute apres les exceptions ? de manière à pouvoir factoriser les traitements de certaines d'entre elles...
    sinon est ce deja possible (de factoriser les traitememnt de certaines exceptions) et comment le fait-t'on ?

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Soit la structure de programme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    declare
       err_trt exception;
    begin
       (1)...
       begin
       (2)    ...
       exception
            when no_data_found then
       (3)           ...   
                  err_trt;
            when too_many_rows then 
       (4)           ..
                  raise too_many_rows;
       end;
       begin
       (5)   ...
       exception
            when no_data_found then
       (6)           ...   
            when too_many_rows then 
       (7)           ..
            when others then
       (8)   
                err_trt;
       end;
       ...
    exception
       when err_trt then
       (9)    ...
       when no_data_found or too_many_rows then
       (10)    ...
       when others then
       (11)    ...
    end;
    Si une exception se déclenche en (1) elle ne pourra être interceptée qu'en (9), (10) ou (11), suivant le type d'exception générée. En (10) on traite de la même manière les exception "no_data_found" et "too_many_rows".

    Si une exception est levée en (2), elle sera d'abord interceptée en (3) ou (4), s'il s'agit d'une exception "no_data_found" et "too_many_rows". Sinon elle sera interceptée dans le when others en (11). Il est possible de propager l'exception dans un bloc de niveau inférieur : ainsi l'exception traitée en (3) sera aussi traitée en (9) et celle traitée en (4) sera également traitée en (10).

    Les exceptions traitées en (6) et en (7) ne sont pas propagées, le traitement continue.

Discussions similaires

  1. [Lazarus] Traitement des exceptions
    Par sverdo dans le forum Lazarus
    Réponses: 1
    Dernier message: 31/08/2007, 08h30
  2. Traitement des exceptions
    Par lecra dans le forum Zend Framework
    Réponses: 6
    Dernier message: 28/05/2007, 16h08
  3. Réponses: 5
    Dernier message: 08/01/2007, 15h58
  4. [Exceptions] Système de traitement des exceptions
    Par jenesuispasunrobot dans le forum Langage
    Réponses: 5
    Dernier message: 07/12/2005, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo