public void maMethode() throws Pop3Exception
try {
chRead = (char)inputStream.read();
if(bidule == 1)
throw new Pop3Exception("Timeout connexion !");
}
catch (IOException e)
{
// Que faire ici ???
}
Si je comprends bien, le catch va intercepter non seulement une exception
issue de inputStream.read() mais AUSSI l'exception que je lève moi même...
Est-ce vrai ?
Si c'est le cas, ça m'intéresse pas trop car je voudrais que l'exception
soit remonte la pile d'appels...
Le problème c'est que si je supprime le bloc try/catch j'obtiens une erreur
de compilation car maMethode reporte les Pop3Exception mais pas les
IOException.
J'ai bien sur, dérivé Pop3Exception de Exception, aurais-je du dériver de
IOException ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Willy
Zouplaz wrote:
Bonsoir, je patine un peu avec les exceptions
si j'ai ça (c'est un exemple) :
public void maMethode() throws Pop3Exception try { chRead = (char)inputStream.read(); if(bidule == 1) throw new Pop3Exception("Timeout connexion !"); } catch (IOException e) { // Que faire ici ??? }
Si je comprends bien, le catch va intercepter non seulement une exception issue de inputStream.read() mais AUSSI l'exception que je lève moi même...
Est-ce vrai ?
Si Pop3Exception étends IOException, oui, sinon, l'exception est remontée dans la pile
Si c'est le cas, ça m'intéresse pas trop car je voudrais que l'exception soit remonte la pile d'appels...
Le problème c'est que si je supprime le bloc try/catch j'obtiens une erreur de compilation car maMethode reporte les Pop3Exception mais pas les IOException.
J'ai bien sur, dérivé Pop3Exception de Exception, aurais-je du dériver de IOException ?
Justement non, si tu avais étendu IOException, la Pop3Exception aurait été "catchée".
Merci !
-- Willy
Zouplaz wrote:
Bonsoir, je patine un peu avec les exceptions
si j'ai ça (c'est un exemple) :
public void maMethode() throws Pop3Exception
try {
chRead = (char)inputStream.read();
if(bidule == 1)
throw new Pop3Exception("Timeout connexion !");
}
catch (IOException e)
{
// Que faire ici ???
}
Si je comprends bien, le catch va intercepter non seulement une exception
issue de inputStream.read() mais AUSSI l'exception que je lève moi même...
Est-ce vrai ?
Si Pop3Exception étends IOException, oui, sinon, l'exception est
remontée dans la pile
Si c'est le cas, ça m'intéresse pas trop car je voudrais que l'exception
soit remonte la pile d'appels...
Le problème c'est que si je supprime le bloc try/catch j'obtiens une erreur
de compilation car maMethode reporte les Pop3Exception mais pas les
IOException.
J'ai bien sur, dérivé Pop3Exception de Exception, aurais-je du dériver de
IOException ?
Justement non, si tu avais étendu IOException, la Pop3Exception aurait
été "catchée".
public void maMethode() throws Pop3Exception try { chRead = (char)inputStream.read(); if(bidule == 1) throw new Pop3Exception("Timeout connexion !"); } catch (IOException e) { // Que faire ici ??? }
Si je comprends bien, le catch va intercepter non seulement une exception issue de inputStream.read() mais AUSSI l'exception que je lève moi même...
Est-ce vrai ?
Si Pop3Exception étends IOException, oui, sinon, l'exception est remontée dans la pile
Si c'est le cas, ça m'intéresse pas trop car je voudrais que l'exception soit remonte la pile d'appels...
Le problème c'est que si je supprime le bloc try/catch j'obtiens une erreur de compilation car maMethode reporte les Pop3Exception mais pas les IOException.
J'ai bien sur, dérivé Pop3Exception de Exception, aurais-je du dériver de IOException ?
Justement non, si tu avais étendu IOException, la Pop3Exception aurait été "catchée".
Merci !
-- Willy
Erwan David
Zouplaz écrivait :
Bonsoir, je patine un peu avec les exceptions
si j'ai ça (c'est un exemple) :
public void maMethode() throws Pop3Exception try { chRead = (char)inputStream.read(); if(bidule == 1) throw new Pop3Exception("Timeout connexion !"); } catch (IOException e) { // Que faire ici ??? }
Si je comprends bien, le catch va intercepter non seulement une exception issue de inputStream.read() mais AUSSI l'exception que je lève moi même...
Est-ce vrai ?
Si c'est le cas, ça m'intéresse pas trop car je voudrais que l'exception soit remonte la pile d'appels...
Le problème c'est que si je supprime le bloc try/catch j'obtiens une erreur de compilation car maMethode reporte les Pop3Exception mais pas les IOException.
J'ai bien sur, dérivé Pop3Exception de Exception, aurais-je du dériver de IOException ?
Dans ce cas ton catch ne va pas la récupérer puisque c'est *pas* une IOException.
Et si tu sais pas quoi faire de ton IOException tu la laisse remonter en déclarant IOException dans la clause throws.
Zouplaz <pouet@pouet.com> écrivait :
Bonsoir, je patine un peu avec les exceptions
si j'ai ça (c'est un exemple) :
public void maMethode() throws Pop3Exception
try {
chRead = (char)inputStream.read();
if(bidule == 1)
throw new Pop3Exception("Timeout connexion !");
}
catch (IOException e)
{
// Que faire ici ???
}
Si je comprends bien, le catch va intercepter non seulement une exception
issue de inputStream.read() mais AUSSI l'exception que je lève moi même...
Est-ce vrai ?
Si c'est le cas, ça m'intéresse pas trop car je voudrais que l'exception
soit remonte la pile d'appels...
Le problème c'est que si je supprime le bloc try/catch j'obtiens une erreur
de compilation car maMethode reporte les Pop3Exception mais pas les
IOException.
J'ai bien sur, dérivé Pop3Exception de Exception, aurais-je du dériver de
IOException ?
Dans ce cas ton catch ne va pas la récupérer puisque c'est *pas* une
IOException.
Et si tu sais pas quoi faire de ton IOException tu la laisse remonter
en déclarant IOException dans la clause throws.
public void maMethode() throws Pop3Exception try { chRead = (char)inputStream.read(); if(bidule == 1) throw new Pop3Exception("Timeout connexion !"); } catch (IOException e) { // Que faire ici ??? }
Si je comprends bien, le catch va intercepter non seulement une exception issue de inputStream.read() mais AUSSI l'exception que je lève moi même...
Est-ce vrai ?
Si c'est le cas, ça m'intéresse pas trop car je voudrais que l'exception soit remonte la pile d'appels...
Le problème c'est que si je supprime le bloc try/catch j'obtiens une erreur de compilation car maMethode reporte les Pop3Exception mais pas les IOException.
J'ai bien sur, dérivé Pop3Exception de Exception, aurais-je du dériver de IOException ?
Dans ce cas ton catch ne va pas la récupérer puisque c'est *pas* une IOException.
Et si tu sais pas quoi faire de ton IOException tu la laisse remonter en déclarant IOException dans la clause throws.