[Javabeans] Placer un return avant une exception : aille ça coince !

Placer un return avant une exception : aille ça coince ! [Javabeans] - Java - Programmation

Marsh Posté le 05-05-2004 à 17:12:55    

Salut,
 
En fait, c'est plutôt un problème d'implémentation.
 
J'ai un exemple avec :  
 

Code :
  1. static Connection getConnection() {
  2.  try {
  3.   Context initCtx = new InitialContext();
  4.   Context envCtx = (Context) initCtx.lookup("java:comp/env" );
  5.   DataSource ds = (DataSource) envCtx.lookup("jdbc/emp" );
  6.   return ds.getConnection();
  7.  }
  8.  catch (Exception e) {
  9.   e.printStackTrace();
  10.  }
  11. }


 
Sorte Statut Priorité Description Ressource Dans le dossier Emplacement
Erreur   Cette méthode doit renvoyer un résultat de type Connection Dept.java Formation/WEB-INF/src/com/snm/bean ligne 65
 
En gros, il capte pas le return à cause du catch.
 
Comment, je peux contourner le problème sans faire un truc trop dégueux ?
 
Merci d'avance,

Reply

Marsh Posté le 05-05-2004 à 17:12:55   

Reply

Marsh Posté le 05-05-2004 à 17:46:02    

ben déjà catch (Exception e) c'est pas top... normalement tu es censé appliqué un traitement spécial suivant l'exception catchée
parce que là tu lui retournes quoi au client qui appelle la méthode getConnection()?
ce que tu devrais faire, c'est soit lui retourner null, soit lui envoyer une exception pour qu'il traite l'erreur en conséquence...

Reply

Marsh Posté le 06-05-2004 à 13:58:33    

Essaye ça :
 

Code :
  1. static Connection getConnection() {
  2.       Connection myConnection = null;
  3.       try {
  4.          Context initCtx = new InitialContext();
  5.          Context envCtx = (Context) initCtx.lookup("java:comp/env" );
  6.          DataSource ds = (DataSource) envCtx.lookup("jdbc/emp" );
  7.          myConnection = ds.getConnection();
  8.       }
  9.       catch (Exception e) {
  10.          e.printStackTrace();
  11.       }
  12.       return myConnection;
  13.    }


 
Ta méthode renvoi toujours qqch, même en cas d'exception.
Mais tu devrais quand même laisser remonter l'exception au niveau de la méthode appelante minimum.


Message édité par pascal34 le 06-05-2004 à 13:59:23
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed