Remonter une erreur vers la méthode de la classe de base ?
2 réponses
Fab
Bonjour,
J'ai une classe A avec une méthode A1()
Et une classe B avec une méthode B1()
L'implémentation de A1() est la suivante dans les grandes lignes:
try
{return B1();}
catch(Exception e)
{Console.Write(e.Message);}
L'implémentation de B1() est la suivante dans les grandes lignes:
try
{instruction 1;instruction 2;instruction 3;}
catch(Exception e)
{Console.Write(e.Message);}
Si une erreur arrive dans B1(), comment puis-je savoir dans A1() qu'une
erreur est survenue et laquelle ? Car comme le "try" de B1() a attrapé
l'erreur du coup A1() ne plante pas.
Voilà pour une explication simple, sachant que je n'ai décrit ici que 2
niveaux. Il se pourrait que nous ayons une classe C avec une méthode C1() qui
est elle-même appelée par la méthode B1().
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
Christophe QUEVAL
Bonjour,
"Throw(e)" permet de remonter l'erreur à l'appelant.
Christophe "Fab" a écrit dans le message de news:
Bonjour,
J'ai une classe A avec une méthode A1() Et une classe B avec une méthode B1()
L'implémentation de A1() est la suivante dans les grandes lignes: try {return B1();} catch(Exception e) {Console.Write(e.Message);}
L'implémentation de B1() est la suivante dans les grandes lignes: try {instruction 1;instruction 2;instruction 3;} catch(Exception e) {Console.Write(e.Message);}
Si une erreur arrive dans B1(), comment puis-je savoir dans A1() qu'une erreur est survenue et laquelle ? Car comme le "try" de B1() a attrapé l'erreur du coup A1() ne plante pas.
Voilà pour une explication simple, sachant que je n'ai décrit ici que 2 niveaux. Il se pourrait que nous ayons une classe C avec une méthode C1() qui est elle-même appelée par la méthode B1().
J'espère avoir été clair.
Merci à tous.
Fabo
Bonjour,
"Throw(e)" permet de remonter l'erreur à l'appelant.
Christophe
"Fab" <Fab@discussions.microsoft.com> a écrit dans le message de news:
0587BBFB-C37B-44C3-AF1D-967D2FBE815C@microsoft.com...
Bonjour,
J'ai une classe A avec une méthode A1()
Et une classe B avec une méthode B1()
L'implémentation de A1() est la suivante dans les grandes lignes:
try
{return B1();}
catch(Exception e)
{Console.Write(e.Message);}
L'implémentation de B1() est la suivante dans les grandes lignes:
try
{instruction 1;instruction 2;instruction 3;}
catch(Exception e)
{Console.Write(e.Message);}
Si une erreur arrive dans B1(), comment puis-je savoir dans A1() qu'une
erreur est survenue et laquelle ? Car comme le "try" de B1() a attrapé
l'erreur du coup A1() ne plante pas.
Voilà pour une explication simple, sachant que je n'ai décrit ici que 2
niveaux. Il se pourrait que nous ayons une classe C avec une méthode C1()
qui
est elle-même appelée par la méthode B1().
"Throw(e)" permet de remonter l'erreur à l'appelant.
Christophe "Fab" a écrit dans le message de news:
Bonjour,
J'ai une classe A avec une méthode A1() Et une classe B avec une méthode B1()
L'implémentation de A1() est la suivante dans les grandes lignes: try {return B1();} catch(Exception e) {Console.Write(e.Message);}
L'implémentation de B1() est la suivante dans les grandes lignes: try {instruction 1;instruction 2;instruction 3;} catch(Exception e) {Console.Write(e.Message);}
Si une erreur arrive dans B1(), comment puis-je savoir dans A1() qu'une erreur est survenue et laquelle ? Car comme le "try" de B1() a attrapé l'erreur du coup A1() ne plante pas.
Voilà pour une explication simple, sachant que je n'ai décrit ici que 2 niveaux. Il se pourrait que nous ayons une classe C avec une méthode C1() qui est elle-même appelée par la méthode B1().
J'espère avoir été clair.
Merci à tous.
Fabo
Paul Bacelar
Il ne faut catcher les exceptions que pour les traiter, sinon, autant utiliser des codes d'erreurs.
-- Paul Bacelar
"Christophe QUEVAL" wrote in message news:
Bonjour,
"Throw(e)" permet de remonter l'erreur à l'appelant.
Christophe "Fab" a écrit dans le message de news:
> Bonjour, > > J'ai une classe A avec une méthode A1() > Et une classe B avec une méthode B1() > > L'implémentation de A1() est la suivante dans les grandes lignes: > try > {return B1();} > catch(Exception e) > {Console.Write(e.Message);} > > L'implémentation de B1() est la suivante dans les grandes lignes: > try > {instruction 1;instruction 2;instruction 3;} > catch(Exception e) > {Console.Write(e.Message);} > > Si une erreur arrive dans B1(), comment puis-je savoir dans A1() qu'une > erreur est survenue et laquelle ? Car comme le "try" de B1() a attrapé > l'erreur du coup A1() ne plante pas. > > Voilà pour une explication simple, sachant que je n'ai décrit ici que 2 > niveaux. Il se pourrait que nous ayons une classe C avec une méthode
C1()
> qui > est elle-même appelée par la méthode B1(). > > J'espère avoir été clair. > > Merci à tous. > > Fabo
Il ne faut catcher les exceptions que pour les traiter, sinon, autant
utiliser des codes d'erreurs.
--
Paul Bacelar
"Christophe QUEVAL" <cquevalNOSPAM@SPAMNONONOmasternaut.com> wrote in
message news:ezFBitW1FHA.3376@TK2MSFTNGP14.phx.gbl...
Bonjour,
"Throw(e)" permet de remonter l'erreur à l'appelant.
Christophe
"Fab" <Fab@discussions.microsoft.com> a écrit dans le message de news:
0587BBFB-C37B-44C3-AF1D-967D2FBE815C@microsoft.com...
> Bonjour,
>
> J'ai une classe A avec une méthode A1()
> Et une classe B avec une méthode B1()
>
> L'implémentation de A1() est la suivante dans les grandes lignes:
> try
> {return B1();}
> catch(Exception e)
> {Console.Write(e.Message);}
>
> L'implémentation de B1() est la suivante dans les grandes lignes:
> try
> {instruction 1;instruction 2;instruction 3;}
> catch(Exception e)
> {Console.Write(e.Message);}
>
> Si une erreur arrive dans B1(), comment puis-je savoir dans A1() qu'une
> erreur est survenue et laquelle ? Car comme le "try" de B1() a attrapé
> l'erreur du coup A1() ne plante pas.
>
> Voilà pour une explication simple, sachant que je n'ai décrit ici que 2
> niveaux. Il se pourrait que nous ayons une classe C avec une méthode
C1()
> qui
> est elle-même appelée par la méthode B1().
>
> J'espère avoir été clair.
>
> Merci à tous.
>
> Fabo
Il ne faut catcher les exceptions que pour les traiter, sinon, autant utiliser des codes d'erreurs.
-- Paul Bacelar
"Christophe QUEVAL" wrote in message news:
Bonjour,
"Throw(e)" permet de remonter l'erreur à l'appelant.
Christophe "Fab" a écrit dans le message de news:
> Bonjour, > > J'ai une classe A avec une méthode A1() > Et une classe B avec une méthode B1() > > L'implémentation de A1() est la suivante dans les grandes lignes: > try > {return B1();} > catch(Exception e) > {Console.Write(e.Message);} > > L'implémentation de B1() est la suivante dans les grandes lignes: > try > {instruction 1;instruction 2;instruction 3;} > catch(Exception e) > {Console.Write(e.Message);} > > Si une erreur arrive dans B1(), comment puis-je savoir dans A1() qu'une > erreur est survenue et laquelle ? Car comme le "try" de B1() a attrapé > l'erreur du coup A1() ne plante pas. > > Voilà pour une explication simple, sachant que je n'ai décrit ici que 2 > niveaux. Il se pourrait que nous ayons une classe C avec une méthode
C1()
> qui > est elle-même appelée par la méthode B1(). > > J'espère avoir été clair. > > Merci à tous. > > Fabo