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

PL/SQL Oracle Discussion :

Comportement d'un raise


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de pascal_T
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 95
    Par défaut Comportement d'un raise
    Bonjour à tous, je suis en ce moment en trainde regarder un code fait par d'autres, et j'ai un truc qui me turlupine. Voici le code:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    begin 
    ........
    OPEN C_PERIODE;
       FETCH C_PERIODE INTO DAT_DEB_A;
       IF C_PERIODE%NOTFOUND THEN
          CLOSE C_PERIODE;
          RAISE No_Data_found;
          RETURN;
       END IF;
    .........
    end;

    Si on rentre dans le "IF", alors le raise génère une exception, je me demande alors à quoi sert le return. Sachant le bloc "Begin End" n'a pas de section de gestion de l'exception.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 316
    Par défaut
    bonjour,
    cela permet de sortir et de retourner l'erreur a un eventuel bloc/programme appellant
    cordialement

  3. #3
    Membre confirmé Avatar de pascal_T
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 95
    Par défaut
    Pourtant dans le guide PL/SQL de SheikYerbouti (excellent par ailleurs), voici un extrait concernant les exceptions:


    Propagation des exceptions

    Si une exception n'est pas traitée au sein du bloc BEGIN … END; dans lequel elle est générée,
    elle remonte de bloc en bloc jusqu'à ce qu'elle soit traitée ou rende la main au programme appelant.
    Quand je lis ça , pour moi le système ne "voit" pas le return qui suit le raise. Car il cherche à traiter le raise.

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par pascal_T Voir le message
    ...

    Quand je lis ça , pour moi le système ne "voit" pas le return qui suit le raise. Car il cherche à traiter le raise.
    Oui, c'est ça il s'en moque du return qui ne sera jamais exécuté. Mais, il y a des programmeurs qui mettent des instructions sans se soucier de ce que cela signifie, comme ça « just in case ».

  5. #5
    Membre confirmé Avatar de pascal_T
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 95
    Par défaut
    Ok merci.

    Heureusement que ce forum existe, merci à toi et aux autres

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 316
    Par défaut
    effectivemment ,
    je pensais que c'etait le raise sans gestion d'exception qui
    te posais probleme et pas le return

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. open avec comport
    Par Goldocrack dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/04/2009, 08h12
  2. [HttpClient] comportement bizarre, saute des catch()...
    Par iubito dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 04/02/2004, 15h25
  3. [Sybase] Comportement bizarre d'une table
    Par sdozias dans le forum Sybase
    Réponses: 4
    Dernier message: 03/02/2004, 10h39
  4. [Free Pascal] Comportement de Exec
    Par néo333 dans le forum Free Pascal
    Réponses: 3
    Dernier message: 01/11/2003, 17h46
  5. Réponses: 2
    Dernier message: 22/09/2003, 11h23

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