Bonsoir à tous,

Dans ma classe A, le constructeur envoie une exception si l'initialisation de certaines variables a foiré.
Jusque là, ça va.

Mais j'ai aussi une classe B qui hérite de A, et dans le constructeur de B, j'appelle le constructeur de la classe mère :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
//constructeur de A
public A( param1 a, param2 b) throws Exception
{
....
}
 
//B hérite de A
//constructeur de B
public B( param1 a, param2 b)
{
super(a,b);
}
Le problème dans le constructeur de B, c'est que le compilateur me dit que : je dois catcher l'exception lancée par le constructeur de A.
Je mets donc en place un try -catch qui englobe le super(a,b).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public B( param1 a, param2 b)
{
try{
super(a,b);
}catch(Exception e)
{
...
}
}
Mais alors, le compilo s'énerve et dit que 'super' doit être la première instruction du bloc, que faire ?