Ainsi, quand je récupère mes exception, je peux afficher à l'écran le nom de
la fonction qui l'a lancée
et ainsi savoir où se trouve l'endroit quasi-exact ou a eu lieu le problème.
Mais bon, c'est vraiment pas
très joli, et en plus, ça peut être source d'erreur puisque le nom de la
fonction est "entré à la main"... Il
n'existe pas une méthode plus propre pour connaitre l'origine d'une
exception ?
|> > non, cela aurait été trop facile d'homologuer une pratique |> > existante :-)
|> > C99 l'appelle __func__.
|> Devinons, parce que __FUNCTION__ ressemble a une macro et que ce |> ne peut pas en etre une?
Rien n'aurait empeché de prédéfinir le macro :
#define __FUNCTION__ __func__
si vraiement il ne voulait pas que __FUNCTION__ ne soit pas un macro.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Jean-Marc Bourguet <jm@bourguet.org> writes:
|> Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
|> > Jean-Marc Bourguet <jm@bourguet.org> writes:
|> > | C'est pas du C99, __FUNCTION__?
|> > non, cela aurait été trop facile d'homologuer une pratique
|> > existante :-)
|> > C99 l'appelle __func__.
|> Devinons, parce que __FUNCTION__ ressemble a une macro et que ce
|> ne peut pas en etre une?
Rien n'aurait empeché de prédéfinir le macro :
#define __FUNCTION__ __func__
si vraiement il ne voulait pas que __FUNCTION__ ne soit pas un macro.
--
James Kanze mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
|> > non, cela aurait été trop facile d'homologuer une pratique |> > existante :-)
|> > C99 l'appelle __func__.
|> Devinons, parce que __FUNCTION__ ressemble a une macro et que ce |> ne peut pas en etre une?
Rien n'aurait empeché de prédéfinir le macro :
#define __FUNCTION__ __func__
si vraiement il ne voulait pas que __FUNCTION__ ne soit pas un macro.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
James Kanze
Gabriel Dos Reis writes:
|> Jean-Marc Bourguet writes:
|> | Gabriel Dos Reis writes:
|> | > Jean-Marc Bourguet writes:
|> | > | C'est pas du C99, __FUNCTION__?
|> | > non, cela aurait été trop facile d'homologuer une |> | > pratique existante :-)
|> | > C99 l'appelle __func__.
|> | Devinons, parce que __FUNCTION__ ressemble a une macro et que ce |> | ne peut pas en etre une?
|> Cela peut être une explication officielle d'un porte paraole du |> comité :-)
|> Je n'ai la moindre idée de comment les débats se sont déroulés.
Je n'ai eu que des brins -- je sais qu'il en était question. Et que certains voulait __FUNC__ : puisque __FILE__, __LINE__, etc. avaient tous exactement quatre caractères alpha...
Je peux accepter qu'ils aient voulu que le tableau même ne s'appelle pas __FUNCTION__. Mais ils auraient du alors définir un macro qui résolvait au nom du tableau. Et la seule justification acceptable (AMHA, éviment) à ne pas utiliser __FUNCTION__, c'est que d'autres compilateurs que g++ avaient aussi la même fonctionnalité, avec un autre nom.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
|> Jean-Marc Bourguet <jm@bourguet.org> writes:
|> | Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
|> | > non, cela aurait été trop facile d'homologuer une
|> | > pratique existante :-)
|> | > C99 l'appelle __func__.
|> | Devinons, parce que __FUNCTION__ ressemble a une macro et que ce
|> | ne peut pas en etre une?
|> Cela peut être une explication officielle d'un porte paraole du
|> comité :-)
|> Je n'ai la moindre idée de comment les débats se sont déroulés.
Je n'ai eu que des brins -- je sais qu'il en était question. Et que
certains voulait __FUNC__ : puisque __FILE__, __LINE__, etc. avaient
tous exactement quatre caractères alpha...
Je peux accepter qu'ils aient voulu que le tableau même ne
s'appelle pas __FUNCTION__. Mais ils auraient du alors définir un
macro qui résolvait au nom du tableau. Et la seule justification
acceptable (AMHA, éviment) à ne pas utiliser __FUNCTION__, c'est
que d'autres compilateurs que g++ avaient aussi la même
fonctionnalité, avec un autre nom.
--
James Kanze mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
|> | > non, cela aurait été trop facile d'homologuer une |> | > pratique existante :-)
|> | > C99 l'appelle __func__.
|> | Devinons, parce que __FUNCTION__ ressemble a une macro et que ce |> | ne peut pas en etre une?
|> Cela peut être une explication officielle d'un porte paraole du |> comité :-)
|> Je n'ai la moindre idée de comment les débats se sont déroulés.
Je n'ai eu que des brins -- je sais qu'il en était question. Et que certains voulait __FUNC__ : puisque __FILE__, __LINE__, etc. avaient tous exactement quatre caractères alpha...
Je peux accepter qu'ils aient voulu que le tableau même ne s'appelle pas __FUNCTION__. Mais ils auraient du alors définir un macro qui résolvait au nom du tableau. Et la seule justification acceptable (AMHA, éviment) à ne pas utiliser __FUNCTION__, c'est que d'autres compilateurs que g++ avaient aussi la même fonctionnalité, avec un autre nom.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Gabriel Dos Reis
James Kanze writes:
| Gabriel Dos Reis writes: | | |> Jean-Marc Bourguet writes: | | |> | Gabriel Dos Reis writes: | | |> | > Jean-Marc Bourguet writes: | | |> | > | C'est pas du C99, __FUNCTION__? | | |> | > non, cela aurait été trop facile d'homologuer une | |> | > pratique existante :-) | | |> | > C99 l'appelle __func__. | | |> | Devinons, parce que __FUNCTION__ ressemble a une macro et que ce | |> | ne peut pas en etre une? | | |> Cela peut être une explication officielle d'un porte paraole du | |> comité :-) | | |> Je n'ai la moindre idée de comment les débats se sont déroulés. | | Je n'ai eu que des brins -- je sais qu'il en était question. Et que | certains voulait __FUNC__ : puisque __FILE__, __LINE__, etc. avaient | tous exactement quatre caractères alpha...
comme __STDC_HOSTED__, __STDC_VERSION__, __STDC_IEC_559__, __VA_ARGS__, __STDC_IEC_559_COMPLEX__ ? :-)
| Je peux accepter qu'ils aient voulu que le tableau même ne | s'appelle pas __FUNCTION__. Mais ils auraient du alors définir un | macro qui résolvait au nom du tableau. Et la seule justification | acceptable (AMHA, éviment) à ne pas utiliser __FUNCTION__, c'est | que d'autres compilateurs que g++ avaient aussi la même | fonctionnalité, avec un autre nom.
c'est pour cela qu'on parle de standardiser la pratique existante <g>
-- Gaby
James Kanze <kanze@gabi-soft.fr> writes:
| Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
|
| |> Jean-Marc Bourguet <jm@bourguet.org> writes:
|
| |> | Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
|
| |> | > Jean-Marc Bourguet <jm@bourguet.org> writes:
|
| |> | > | C'est pas du C99, __FUNCTION__?
|
| |> | > non, cela aurait été trop facile d'homologuer une
| |> | > pratique existante :-)
|
| |> | > C99 l'appelle __func__.
|
| |> | Devinons, parce que __FUNCTION__ ressemble a une macro et que ce
| |> | ne peut pas en etre une?
|
| |> Cela peut être une explication officielle d'un porte paraole du
| |> comité :-)
|
| |> Je n'ai la moindre idée de comment les débats se sont déroulés.
|
| Je n'ai eu que des brins -- je sais qu'il en était question. Et que
| certains voulait __FUNC__ : puisque __FILE__, __LINE__, etc. avaient
| tous exactement quatre caractères alpha...
comme __STDC_HOSTED__, __STDC_VERSION__, __STDC_IEC_559__,
__VA_ARGS__, __STDC_IEC_559_COMPLEX__ ? :-)
| Je peux accepter qu'ils aient voulu que le tableau même ne
| s'appelle pas __FUNCTION__. Mais ils auraient du alors définir un
| macro qui résolvait au nom du tableau. Et la seule justification
| acceptable (AMHA, éviment) à ne pas utiliser __FUNCTION__, c'est
| que d'autres compilateurs que g++ avaient aussi la même
| fonctionnalité, avec un autre nom.
c'est pour cela qu'on parle de standardiser la pratique existante <g>
| Gabriel Dos Reis writes: | | |> Jean-Marc Bourguet writes: | | |> | Gabriel Dos Reis writes: | | |> | > Jean-Marc Bourguet writes: | | |> | > | C'est pas du C99, __FUNCTION__? | | |> | > non, cela aurait été trop facile d'homologuer une | |> | > pratique existante :-) | | |> | > C99 l'appelle __func__. | | |> | Devinons, parce que __FUNCTION__ ressemble a une macro et que ce | |> | ne peut pas en etre une? | | |> Cela peut être une explication officielle d'un porte paraole du | |> comité :-) | | |> Je n'ai la moindre idée de comment les débats se sont déroulés. | | Je n'ai eu que des brins -- je sais qu'il en était question. Et que | certains voulait __FUNC__ : puisque __FILE__, __LINE__, etc. avaient | tous exactement quatre caractères alpha...
comme __STDC_HOSTED__, __STDC_VERSION__, __STDC_IEC_559__, __VA_ARGS__, __STDC_IEC_559_COMPLEX__ ? :-)
| Je peux accepter qu'ils aient voulu que le tableau même ne | s'appelle pas __FUNCTION__. Mais ils auraient du alors définir un | macro qui résolvait au nom du tableau. Et la seule justification | acceptable (AMHA, éviment) à ne pas utiliser __FUNCTION__, c'est | que d'autres compilateurs que g++ avaient aussi la même | fonctionnalité, avec un autre nom.
c'est pour cela qu'on parle de standardiser la pratique existante <g>