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 :

Problème try-catch dans mon code


Sujet :

Langage Java

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Problème try-catch dans mon code
    Bonjour,
    J'ai un petit problème dans une méthode run en cours de développement.
    Je voudrais insérer 2blocs try-catch dans un autre bloc try-catch(qui les englobe donc).
    Mais il me met comme erreur que une InterruptedException n'est jamais lancée dans le corps du try correspondant .
    Or selon moi ce n'est pas le cas :s

    Si quelqu'un pouvait m'aider ce serait sympa
    Merci
    Voici le 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
     
    public void run() {
     
     
            try{ 
                synchronized(this){
     
                        try{
     
                for ( int k = 0,plaque=0 ; k < 50; k++ , plaque++)  
                { 
                  System.out.println (  "Je crée un objet " + k );
                  Voiture alpha = new Voiture(plaque);
                  v.addElement(alpha); 
                // g.addElement(alpha);
                  System.out.println("taille du vecteur : "+v.size());
                  System.out.println ("plaque = "+plaque);
     
     
                  delay = (int)((Math.random())*20000); 
                  Thread.sleep ( delay );  
                  System.out.println("delay = "+delay);  
                  System.out.println("k = "+ k );
                  System.out.println("t = "+ t);
                  }}
     
                   catch( InterruptedException e ) {
                System.out.println("Interrupted Exception caught");
            }}
                synchronized (this) {
        try  {for (int j=0;j<v.size();j++){                                
                    int delay2 = (int)((Math.random())*38000);
                    Thread.sleep(delay2);
                    v.removeElementAt(j);}
                                            }
        catch(InterruptedException e){System.out.println("Interrupted Exception caught");}}
     
     
     
     
     
    }     
     catch(InterruptedException e){System.out.println("Interrupted Exception caught");}    
     
     
    }

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Euuuh mon problème n'inspire vraiment personne?

  3. #3
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    dans le premier catch après le system.out :
    throw(e);

  4. #4
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Ok, je vais essayer ça dès mon retour cet aprem.
    Mais ça va changer quoi exactement?

  5. #5
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    d'abord j'ai remarqué que pour les trois exceptions tu met le même message d'erreur donc tu cherche pas à trouver la localisation de l'erreur==> pourquoi alors ne pas utiliser un seul bloc try-catch?
    ensuite essaye de remplacer InterruptedException par Exception c'est la même chose puis vérifie.
    autre chose je ne vois pas dans ton code une exception du type InterruptedException ici tu es dans le crops de Thread comment tu veut qu'il détecte des évenements qui le conçerne?? le traitement du InterruptedException doit être lancé depuis la fonction qui va lancé ce Thread.

  6. #6
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    Je ne vois pas le problème si on te dit que InterruptedException n'est jamais lancée ? Cela veut simplement dire que tes catch(InterruptedException) sont inutiles...
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    On a une InterruptedException si le thread courant est interrompu par un autre thread pendant : Thread.sleep ( delay );

    Dans ton cas, si tu ne geres qu'un seul thread, tu n'aura jamais d'exception de type InterruptedException.

    Thread.sleep(ms) ne te renverra jamais d'exception.

  8. #8
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Tu peux mettre ton code dans eclipse, faire Ctrl+Shift+F (Formatter), puis le reposter stp...?
    Car là c'est illisible

Discussions similaires

  1. [AJAX] Accolade dans mon code
    Par une_tite_question dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/09/2008, 13h55
  2. Problème d'affichage dans mon code
    Par naima2005 dans le forum Applets
    Réponses: 3
    Dernier message: 02/12/2007, 11h52
  3. Problème d'asm dans mon code C
    Par Truffo dans le forum C
    Réponses: 4
    Dernier message: 11/06/2007, 14h44
  4. [Upload] Problème pour uploader un fichier dans mon code
    Par Peuplarchiste dans le forum Langage
    Réponses: 2
    Dernier message: 27/05/2006, 09h48
  5. Problème de paramètres dans mon code javascript
    Par cocacollection dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/03/2006, 10h53

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