OVH Cloud OVH Cloud

Quitter l'appelant

13 réponses
Avatar
blc
Bonjour,

j'ai une fonction qui gere mes erreurs et j'aimerais faire que quand
cette fonction est appelee, elle quitte automatiquement la fonction
appelante.
Y t'il un moyen simple et "joli" de faire ca?

Merci d'avance,
Benoit

3 réponses

1 2
Avatar
blc
Gourgouilloult wrote:
blc wrote:


Desole d'insister... Mais a part les exceptions? Supposons que le code
soit deja ecrit (sans try ni catch) et que je ne puisse changer
uniquement que le code de la fonction appelee (celle qui est sensee
gerer les erreurs)?



J'essaye de comprendre le problème :

void gere_erreur () { ... }

void g ()
{
// ...
if (erreur)
{
gere_erreur ();
}
}

void f ()
{
g ();
// ...
}


Le principe serait plus:

void checkStatus(...);

void myFunction()
{
<...>

checkStatus();

<..>

}

Et je ne veux modifier que la fonction checkStatus. Suivant un
parametre, elle retourne l'erreur de differente maniere...
Donc, a part reprendre tous les appels a cette fonction, les exceptions
risquent d'etre peut commode...

De toute facon, ce probleme est loin d'etre critique...,-)
Benoit


Avatar
Michel Michaud
Dans news:, blc
Bonjour,

j'ai une fonction qui gere mes erreurs et j'aimerais faire que quand
cette fonction est appelee, elle quitte automatiquement la fonction
appelante.


Comme personne ne l'a fait, je me permets de mentionner que tu
pourrais regarder du côté de setjump/longjmp.

Y t'il un moyen simple et "joli" de faire ca?


Euh là, tout d'un coup, ma suggestion n'est peut-être pas
vraiment idéale :-)

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/

Avatar
blc
Michel Michaud wrote:
Dans news:, blc


Comme personne ne l'a fait, je me permets de mentionner que tu
pourrais regarder du côté de setjump/longjmp.
Je vais voir ce que ca fait et comment ca marche.


Merci,
Benoit

1 2