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

Langage Java Discussion :

[Language]try/catch


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    346
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 346
    Par défaut [Language]try/catch
    Bonjour,

    Je suis en train de reprendre du code et j'ai une forme inconnue pour gérer les exceptions.

    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
     
    try
        {
          for (int i = 0; i < l_lst_entets.size(); i++)
          {
            try
            {
             ...
            }
            catch (Exception e)
            {
              ...;
            }
          }
        }
        finally
        {
         ...
        }
    Le premier try n'a pas de catch juste une clause finally, donc comment récupère-t-on l'exception et que signifie cette construction.
    Excusez mon ignorance , merci de votre aide

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    En fait le premier bloc try/finally n'intercepte pas d'exception.
    Elle permet simplement d'exécuter le bloc finally qu'il y ait une exception ou pas..

    a++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 109
    Par défaut
    j'ai peur de dire des bétises mais en fait le second try et catché par ton cath a l'intérieur de la boucle for ainsi il "te reste plus que le try finally"
    tu te retrouve avec un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    try{
    codeA
    }
    finally
    {
    codeB
    }
    Finally signifie que l'on execute le codeB quoi qu'il arrive plus haut (c'est a dire que l'on est executé le codeA ou non)
    donc si le codeA se deroule sans probleme il fera ensuite le codeB sinon il fera seulement le codeB
    je crois c a prendre avec d'enorme pincettes vu ke j'suis pa sur

  4. #4
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Pour moi ceci est une très mauvaise pratique complétement inutile (c'est totalement illisible), j'aurai plutôt fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try { 
      for (int i = 0; i < l_lst_entets.size(); i++)  { 
        ... 
      } 
    }
    catch (Exception e)  { 
      ...; 
    } 
    finally  { 
      ... 
    }

  5. #5
    Membre chevronné Avatar de anitshka
    Inscrit en
    Mai 2004
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 624
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    try { 
    //j'essaye de faire un truc qui risque de planter dans certaines conditions
     
    } 
    catch (Exception e)  { 
      // si ce fameux truc a effectivement planter je fais quelque chose (genre dire le type d'erreur soulevée)
    } 
    finally  { 
    mais de toute facon quoi qu'il arrive je fais quelque chose ici 
    }
    voila
    a+

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    346
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 346
    Par défaut
    Citation Envoyé par thibaut
    Pour moi ceci est une très mauvaise pratique complétement inutile (c'est totalement illisible), j'aurai plutôt fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try { 
      for (int i = 0; i < l_lst_entets.size(); i++)  { 
        ... 
      } 
    }
    catch (Exception e)  { 
      ...; 
    } 
    finally  { 
      ... 
    }
    Oui c'est le style de construction que j'aurais utilisée car beaucoup plus lisible. Et dire qu'il m'empêche de faire certaines choses sous prétexte de lisibilité comme des ++ il faut bien mettre toto = toto +1. Vive les clowns .
    Enfin comme tous les composants sont faits de cette façon, on va laisser cette construction calamiteuse.
    Merci de votre aide.

    [edit]
    anitshka : merci de me prendre pour un idiot mais je comprends un try/catch/finally quand même. Mon problème était le try sans catch.
    [/edit]

  7. #7
    Membre chevronné Avatar de anitshka
    Inscrit en
    Mai 2004
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 624
    Par défaut
    [edit]
    anitshka : merci de me prendre pour un idiot mais je comprends un try/catch/finally quand même. Mon problème était le try sans catch.
    [/edit]
    je ne me permettrai pas! je en voulais pas te vexer... je ne comprenais pas d'ou venai ton problème alors j'ai mi la base... désolée si je t'ai vexé...

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

Discussions similaires

  1. [Language]De l'utilité des try/catch
    Par cyrill.gremaud dans le forum Langage
    Réponses: 17
    Dernier message: 22/11/2005, 14h10
  2. __try __finally et try catch
    Par buzzz dans le forum C++
    Réponses: 6
    Dernier message: 19/02/2005, 15h31
  3. [debutant sous eclipse] surround with try catch
    Par Alwin dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 26/06/2004, 20h03
  4. [try-catch] relancer les instruction du bloc try
    Par nounou dans le forum Langage
    Réponses: 11
    Dernier message: 12/05/2004, 11h23
  5. Exception & Try..catch
    Par PurL dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/12/2002, 15h35

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