Exception dans un constructeur puis traitement dans une autre classe

Exception dans un constructeur puis traitement dans une autre classe - Java - Programmation

Marsh Posté le 24-05-2008 à 18:21:36    

Bonjour,

 

Je souhaiterai qu'un constructeur lance une exception si les conditions ne sont pas respectées et que l'exception soit traitée dans une autre classe. Voici un exemple :

 
Citation :

public Classe1 () {
    if (exemplaire.nonDisponible())
        throw (new NonDisponibleException());
}

 

Vous remarquerez que je n'ai pas mis "public Classe () throws NonDisponibleException {" car lorsque je le mets, Eclipse ne le considère plus comme un constructeur.

 

Ensuite, je souhaiterais traiter l'exception dans une autre classe vu que c'est cette dernière qui va appeler le constructeur. Cependant, ça ne marche pas. J'obtiens des erreurs du genre "Unreachable catch block for NonDisponibleException" puisque dans l'autre classe, j'écris :

 
Citation :

try{
    Classe c = new Classe();
}catch (NonDisponibleException e){
    ...
}

 

et que "throw (new NonDisponibleException());" n'apparaît pas.

 

Pourriez-vous me donner une astuce pour contourner ce désagrément s'il vous plaît.

 

Merci

 

Rocklee


Message édité par rocklee le 24-05-2008 à 18:22:17
Reply

Marsh Posté le 24-05-2008 à 18:21:36   

Reply

Marsh Posté le 24-05-2008 à 18:49:44    

Code :
  1. public class NonDisponibleException extends RuntimeException {
  2. }


 
Mais ça ne me semble pas être une bonne solution.


Message édité par charly007 le 24-05-2008 à 19:02:24
Reply

Marsh Posté le 25-05-2008 à 11:50:00    

Pourquoi est-ce que ça te semble une mauvaise solution ? Moi, je trouve cette solution très efficace. En tout cas, merci pour ta réponse. Ca fait tout comme je voulais. Vraiment merci.


Message édité par rocklee le 25-05-2008 à 16:24:20
Reply

Sujets relatifs:

Leave a Replay

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