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 :

Exception handling et retourne au Try block


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Par défaut Exception handling et retourne au Try block
    Bonjour,
    Juste une question :
    Imaginons le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try{
    do(Arg){
    faire quelque chose avec "Arg" qui peut envoyer une exception si Arg n'est pas bon paramètre;
    }
    }catch(Exception e){
    Correcte(Arg);  // on modifie le paramètre
    retourne au Try block et execute les code de block de Try
    }
    Alors, ma question est comment retourner au block try depuis block catch?
    Pour moi c'est tres utile, je peut rectifier des paramètre qui causent des execptions en runtime et apres reprendre l'exécution de début du block de try....
    Le syntaxe ressemble à un goto (depuis catch au Try) mais bon cela n'existe pas en Java.

    Merci bien
    Hassan

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    hello,

    il faut utiliser une boucle:

    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
    boolean ok = false;
    while(!ok)
    try{
     
      do(Arg){
        faire quelque chose avec "Arg" qui peut envoyer une exception si Arg n'est pas bon paramètre;
        ok = true; // lorsque c'est bon
      } 
     
    }catch(Exception e){
    Correcte(Arg);  // on modifie le paramètre
    retourne au Try block et execute les code de block de Try
    }
    
    mais c'est très inhabituel de faire cela... en général, un paramètre faux n'est pas corrigé par le code métier lui-même: une exception est préférable, pour informer l'appelant qu'il a fait n'importe quoi

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Par défaut
    Ah oui, Merci bien. Comme je suis bête, j'y avais pas pansé. Une boucle simple.

    D'ailleurs, je sais c'est inhabituel, mais c'est surtout pour empêcher que un entré n'importe quoi ne plante pas tout et en plus il donne une visage intelligente à l'application

    Merci bien.

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

Discussions similaires

  1. Spring remoting / Web services / Exceptions handling
    Par bidi dans le forum Services Web
    Réponses: 2
    Dernier message: 04/07/2006, 11h07

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