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 et méthode avec valeur de retour


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 27
    Points : 21
    Points
    21
    Par défaut Exception et méthode avec valeur de retour
    Bonjour,

    j'ai une méthode qui peut générer une exception mais non bloquante pour le reste de son exécution.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    public int maMethode(){
       int a = 0;   
       try{
          code pouvant générer un avertissement en manipulant a
       }catch(Exception e){
          throw e; //mais sort de la méthode et il faudrait retourner une valeur...
       }
       return a;
    }
    Je pourrais avoir une variable passé en paramètre destinée à contenir les év avertissements, et les interpréter après l'exécution de maMethode, ainsi, j'aurais ma valeur retournée (si au lieu de throw e, je mets w=message warning, et que w est passé en paramètre) et une variable w contenant l'avertissemenet si il y a eu problème, mais existe-il une façon plus propre de faire cela ?

    J'ai pensé à mettre le return dans le finally, mais j'ai un avertissement et en plus j'obtiens que la valeur de retour.

    Merci d'avance de vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    une exception interrompt l'exécution d'un programme et remonte immédiatement au premier bloc catch qui correspond à cette exception, faisant un tour, au passage, par les bloc finally qui se situeraient entre. Si tu as absolument besoin de traiter une valeur de retour, alors n'utilise pas les exceptions. Généralement quand on veux continuer l'exécution du programme en cas d'exception, on se content alors d'afficher l'exception (e.printStackTrace() par exemple) et on continue. Ainsi, si on a des résultat abhérant, on sait par la console pourquoi ils sont là.

  3. #3
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Ou alors, après avoir traité l'exception au niveau de base, tu peux renvoyer une nouvelle exception, qui décrit de façon plus précise l'accident. Le concept de cause est fait pour ça ; voir public Exception(Throwable cause) par ex.

    Ou alors tu peux t'inspirer aussi du système des Future.

Discussions similaires

  1. Problème avec valeur de retour d'une fonction
    Par ouranos21 dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 20/01/2009, 08h52
  2. JFrame avec valeur de retour comme InputDialog
    Par jliog dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 29/04/2008, 18h14
  3. SELECT avec valeur de retour soumises a condition
    Par Clorish dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/12/2007, 21h26
  4. méthode avec valeur objet en parametre en java
    Par ché dans le forum Langage
    Réponses: 6
    Dernier message: 16/11/2006, 09h52
  5. Réponses: 3
    Dernier message: 06/10/2005, 15h21

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