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 des exceptions


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Par défaut Comportement des exceptions
    j'ai un problème de compréhension sur les exceptions.

    Sur ce code

    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
     
    DECLARE
    /* déclaration d’une variable pour intercepter une exception  */
        VALUE_ERROR Exception ;
        l_var varchar2(2) ;
    BEGIN
        BEGIN
        l_var := 100;				/* lève l'exception VALUE_ERROR */
        END ;
    Exception
        When  VALUE_ERROR then
        Dbms_Output.put_line('Erreur de valorisation de la variable l_var') ;	   
        When others then
        dbms_output.put_line(' Autres erreurs ');	   
     
    END ;
    j'ai ce résultat :

    bloc anonyme terminé
    Autres erreurs

    ... alors que je pensais sortir soit par le "When VALUE_ERROR" de l'exception soit par un message d'Oracle ( ayant mis le pavé exception ET la variable "VALUE_ERROR Exception" je pensais qu'oracle n'aimerait pas)

    qui peut m'expliquer ?

  2. #2
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    VALUE_ERROR est une exception prédéfinie comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      VALUE_ERROR exception; pragma EXCEPTION_INIT(VALUE_ERROR, '-6502');
    (ORA-6502 est l'erreur "PL/SQL: numeric or value error")

    Si tu surcharge cette déclaration prédéfinie par ta propre déclaration, elle perd son sens.

    Tu peux aussi surcharger les fonctions standard (juste pour rire):
    SQL> BEGIN
    2 dbms_output.put_line(ltrim('hello'));
    3 END ;
    4 /
    hello

    PL/SQL procedure successfully completed.

    SQL> DECLARE
    2 function ltrim(s varchar2) return varchar2 is begin return ':-)'; end;BEGIN
    3 dbms_output.put_line(ltrim('hello'));
    4 END ;
    5 /
    :-)

    PL/SQL procedure successfully completed.
    Cordialement,
    Franck.

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Par défaut
    Merci. Donc j'ai fait ce qu'on appelle une surcharge ... c'est bien ...

    quand à rire ... c'est pas gagné, je balbutie le pl-sql, je ne comprends pas encore toutes ces facéties.

    Mais je met tes exemples sous le coude et je ne manquerais pas de les décoder dés que je saurais les subtilités du langage.

    Cordialement

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

Discussions similaires

  1. Différence de comportement des exceptions
    Par uriotcea dans le forum Débuter
    Réponses: 9
    Dernier message: 24/07/2012, 10h57
  2. question sur le comportement des threads
    Par rose-bonbon dans le forum CORBA
    Réponses: 4
    Dernier message: 27/10/2004, 18h00
  3. Gestion des exception (EOleException)
    Par shurized dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/06/2004, 17h25
  4. [XMLRAD] gestion des exceptions
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 17h48
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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