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 :

try/catch et continue


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut try/catch et continue
    bonjour,

    juste une petite question qui me taraude l'esprit. En fait je n'arrive pas trop à voir la réponse et je n'ai pas le temps de me faire une petite classe de test pour vérifier ...

    j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for(...) {       // 1
        try {
              for (...) {    //2
                    ...
              }
        } catch (Exception e) {
              continue;
        }
     
    }
    le continue s'applique t'il à la première ou à la seconde boucle for. Je penche pour la première mais j'ai un doute.

    Ou alors ça dépend de où se déclenche l'exception ?

    Si la réponse est "aléatoire", y a t'il un moyen de préciser sur quelle boucle faire le continue ?

    Mon esprit embrumé vous remercie par avance.

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Je pense qu'elle intervient sur la première puisqu'elle est contenue dans celle-ci et non pas dans la deuxième, mais c'est vrai que ca peut porter à confusion...

  3. #3
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    ok.

    bon je testerais quand j'aurais le temps je crois que ce sera plus simple que de vous embeter

    espérons que ce soit bien la première car je dois faire une ptite livraison là ...

  4. #4
    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,


    Les continue/break s'applique toujours à la première boucle "parent", donc le premier for dans ton cas puisqu'on est sortis du second for...

    Sinon il est toujours possible d'utiliser des labels pour cibler les continue/break, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            boucle1: for (int i = 0; i < 5; i++) { // 1
                boucle2: for (int j = 0; j < 5; j++) { // 2
                    System.out.println(i + " - " + j);
                    if (j >= 2) {
                        continue boucle1;
                    }
                }
            }
    Mais ce n'est pas super-propre... ca fait un peu penser aux goto...

  5. #5
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par adiGuba
    Mais ce n'est pas super-propre... ca fait un peu penser aux goto...
    en tout cas c'est bon à savoir . Je pensais même pas que ça existait.

    merci Ô grand adiGuba

    [EDIT] je pense à toi très fort aussi wichtounet

  6. #6
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    A vrai dire je viens d'essayer de faire le continue de la boucle 2

    Helas, arrivé dans le catch, le label boucle2 est inconnu (ce qui parait logique).
    Donc en fait, ça ne fonctionne pas. Mais je vais regarder si on ne peut pas déclarer le label avant le try ...

    [EDIT] bon ben non je rêve pas moyen. tant pis

  7. #7
    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
    Citation Envoyé par in
    Helas, arrivé dans le catch, le label boucle2 est inconnu (ce qui parait logique).
    Oui c'est logique : il faut que le continue soit à l'intérieur de la boucle spécifié.

    Dans ton cas il suffit donc de passer le try/catch à l'intérieur de la seconde boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for(...) {       // 1
        for (...) {    //2
            try {
                ...
            } catch (Exception e) {
                continue;
            }
        }
    }
    a++

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

Discussions similaires

  1. Builder n'accepte pas try/catch/__finally
    Par Rodrigue dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/04/2005, 13h15
  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