Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3045 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  try/catch et retour de fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

try/catch et retour de fonction

n°897643
alien_nan
Posté le 13-11-2004 à 18:32:29  profilanswer
 

Bonjour,
 
Une petite question java. Si j'ai une fonction qui retourne une valeur construite à partir d'une requete dans une BDD (via un pool de connexion), il faut que je libère la connexion meme lorsque j'ai une erreur.
 
donc j'ai la synthaxe suivante :

Code :
  1. public String getArticleById(String id_article)
  2.  {
  3.   try {
  4.     ...
  5.                                         recup d'une connection de mon pool
  6.     return ma_chaine;
  7.       }
  8.   catch (Exception e){System.out.println(e); return "erreur";}
  9.  }


 
Je souhaite mettre les fermetures de mes statements et la libération dans des finally pour qu'ils soient faits à tout les coups, même lorsque j'ai une erreur.
 
1°) est ce correct comme mise en oeuvre ? C'est a dire que mon return dans mon try laissera le finally s'executer ?
 
2°) si j'ai une erreur, le return de mon erreur je le laisse dans le catch ?
 
Merci pour vos réponses :hello:

mood
Publicité
Posté le 13-11-2004 à 18:32:29  profilanswer
 

n°898637
mixoumix
Pire pseudo ever
Posté le 15-11-2004 à 09:06:23  profilanswer
 

1°) non, ton finally ne s'exécutera pas. tu dois mettre le return à la fin de ta méthode et, dans ton catch faire un 'ma_chaine = "erreur"
 
2°) non, par conséquent

n°898641
nerisson
Pic-pic
Posté le 15-11-2004 à 09:22:12  profilanswer
 

Peut être faudrait-il mieux que tu ne mettes qu'un bloc try/finally et que tu fasses remonter l'exception non ?

n°898781
alien_nan
Posté le 15-11-2004 à 11:06:54  profilanswer
 

mixoumix a écrit :

1°) non, ton finally ne s'exécutera pas. tu dois mettre le return à la fin de ta méthode et, dans ton catch faire un 'ma_chaine = "erreur"
 
2°) non, par conséquent


 
Ok, je pensais qu'un finally s'executait quoiqu'il arrive.
Donc je vais changer qque peu mon implémentation.
 
Merci pour vos conseils :)

n°898807
the real m​oins moins
Posté le 15-11-2004 à 11:29:14  profilanswer
 

mixoumix a écrit :

1°) non, ton finally ne s'exécutera pas. tu dois mettre le return à la fin de ta méthode et, dans ton catch faire un 'ma_chaine = "erreur"

[:mlc] non mais n'importe quoi ...  
 
 
machin >> ton finally s'executera dans tous les cas, avant que la method fasse le return.

n°898825
alien_nan
Posté le 15-11-2004 à 11:45:54  profilanswer
 

the real moins moins a écrit :

[:mlc] non mais n'importe quoi ...  
 
 
machin >> ton finally s'executera dans tous les cas, avant que la method fasse le return.


 
Justement j'etais en train de mettre des traces et c'est ce que je constatais.
donc par rapport au post d'origine, pas d'erreur d'implementation ?
 
Merci

n°898833
the real m​oins moins
Posté le 15-11-2004 à 11:53:23  profilanswer
 

non c'est bon, meme si je suis pas fervent de ta methode d'avaler l'exception et de renvoyer une chaine comme si de rien n'était

n°898845
alien_nan
Posté le 15-11-2004 à 12:05:12  profilanswer
 

the real moins moins a écrit :

non c'est bon, meme si je suis pas fervent de ta methode d'avaler l'exception et de renvoyer une chaine comme si de rien n'était


 
C'est pour de la gestion de contenu. Lorsqu'il y a un plantage pour une raison indépendante du programme (par exemple pas de réponse de la bdd), je souhaite mettre un message du genre "service indisponible" plutot que de laisser le truc en vrac.
D'ailleurs, dans mon catch, je log (pas juste un message, je n'ai pas mis l'integralité du code)
 
Tu as une autre solution ? (je suis preneur)

n°898847
the real m​oins moins
Posté le 15-11-2004 à 12:07:24  profilanswer
 

bah ça dépend des couches, mais là ça ressemble à un melange de gui/logique, quoi

n°898862
alien_nan
Posté le 15-11-2004 à 12:40:50  profilanswer
 

the real moins moins a écrit :

bah ça dépend des couches, mais là ça ressemble à un melange de gui/logique, quoi


 
ok, merci pour le conseil :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  try/catch et retour de fonction

 

Sujets relatifs
pb avec la fonction ob_start()Fonction mail()
utilisation fonction perso sous excelfonction exponentielle mauvais résultat
[C++] Désactiver le retour à la ligne automatique...une fonction pour supprimer les répétitions dans un formulaire
[HTML]pas de retour a la ligne[C++] while & try-catch
prob Variable et fonction moyennegros pb avec la fonction mail ... help
Plus de sujets relatifs à : try/catch et retour de fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR