In article <4a4f3042$0$30992$,
Guillaume Gourdin wrote:
>selon ma (modeste) expérience, les exceptions en C++sont très
>largement sous utilisées, et on en reste (me semble t-il)
>toujours à la bonne vieille méthode du retour d'un code
>d'erreur. Je suis un peu surpris de cet état de fait, les
>exceptions étant supposées apporter une gestion plus
>performantes des erreurs. J'ai dons quelques questions:
>est-il vrai que les exceptions sont sous utilisées? Quels
>sont vos retours d'expérience? Ou bien y a t'il une raison
>plus profonde à la sous-utilisation des exceptions?
Apres avoir parcouru rapidement ce fil de discussion (une
semaine de vacances), je suis surpris de ne pas avoir vu de
plus visibles references a Herb Sutter. (ou alors, tout le
monde l'inclut de facon implicite ?). Ses divers travaux
(gotw, exceptional C++ et ses suites) sont quand meme
fortement centres sur la difficulte de faire des choses
correctes en presence d'exceptions... ce que j'en ai retenu,
c'est que si toute la chaine n'est pas super-propre cote
destructeurs, laisser des exceptions se propager n'est pas
raisonnable (deja, on a les destructeurs, et donc on echappe
au cauchemar du finally de java)
Bref, ca n'est que depuis peu (a tout casser 5 ans) que les
exceptions fonctionnent en C++.
Pas tres surprenant qu'elles soient peu utilisees, surtout vu
la difference de mentalite cote programmation qu'elles
impliquent (pour avoir des exceptions, il faut vraiment faire
du C++, et plus du C ameliore...)
In article <4a4f3042$0$30992$426a7...@news.free.fr>,
Guillaume Gourdin <tr...@hotmail.com> wrote:
>selon ma (modeste) expérience, les exceptions en C++sont très
>largement sous utilisées, et on en reste (me semble t-il)
>toujours à la bonne vieille méthode du retour d'un code
>d'erreur. Je suis un peu surpris de cet état de fait, les
>exceptions étant supposées apporter une gestion plus
>performantes des erreurs. J'ai dons quelques questions:
>est-il vrai que les exceptions sont sous utilisées? Quels
>sont vos retours d'expérience? Ou bien y a t'il une raison
>plus profonde à la sous-utilisation des exceptions?
Apres avoir parcouru rapidement ce fil de discussion (une
semaine de vacances), je suis surpris de ne pas avoir vu de
plus visibles references a Herb Sutter. (ou alors, tout le
monde l'inclut de facon implicite ?). Ses divers travaux
(gotw, exceptional C++ et ses suites) sont quand meme
fortement centres sur la difficulte de faire des choses
correctes en presence d'exceptions... ce que j'en ai retenu,
c'est que si toute la chaine n'est pas super-propre cote
destructeurs, laisser des exceptions se propager n'est pas
raisonnable (deja, on a les destructeurs, et donc on echappe
au cauchemar du finally de java)
Bref, ca n'est que depuis peu (a tout casser 5 ans) que les
exceptions fonctionnent en C++.
Pas tres surprenant qu'elles soient peu utilisees, surtout vu
la difference de mentalite cote programmation qu'elles
impliquent (pour avoir des exceptions, il faut vraiment faire
du C++, et plus du C ameliore...)
In article <4a4f3042$0$30992$,
Guillaume Gourdin wrote:
>selon ma (modeste) expérience, les exceptions en C++sont très
>largement sous utilisées, et on en reste (me semble t-il)
>toujours à la bonne vieille méthode du retour d'un code
>d'erreur. Je suis un peu surpris de cet état de fait, les
>exceptions étant supposées apporter une gestion plus
>performantes des erreurs. J'ai dons quelques questions:
>est-il vrai que les exceptions sont sous utilisées? Quels
>sont vos retours d'expérience? Ou bien y a t'il une raison
>plus profonde à la sous-utilisation des exceptions?
Apres avoir parcouru rapidement ce fil de discussion (une
semaine de vacances), je suis surpris de ne pas avoir vu de
plus visibles references a Herb Sutter. (ou alors, tout le
monde l'inclut de facon implicite ?). Ses divers travaux
(gotw, exceptional C++ et ses suites) sont quand meme
fortement centres sur la difficulte de faire des choses
correctes en presence d'exceptions... ce que j'en ai retenu,
c'est que si toute la chaine n'est pas super-propre cote
destructeurs, laisser des exceptions se propager n'est pas
raisonnable (deja, on a les destructeurs, et donc on echappe
au cauchemar du finally de java)
Bref, ca n'est que depuis peu (a tout casser 5 ans) que les
exceptions fonctionnent en C++.
Pas tres surprenant qu'elles soient peu utilisees, surtout vu
la difference de mentalite cote programmation qu'elles
impliquent (pour avoir des exceptions, il faut vraiment faire
du C++, et plus du C ameliore...)
In article ,
Fabien LE LEZ wrote:
>On Mon, 13 Jul 2009 09:26:16 +0000 (UTC), (Marc
>Espie):
>>Ses divers travaux (gotw, exceptional C++ et ses suites)
>>sont quand meme fortement centres sur la difficulte de faire
>>des choses correctes en presence d'exceptions...
>Certes, mais c'est relativement indépendant de la question
>qui nous occupe :
>- Presque n'importe quel code peut lancer une exception, donc
>ton code doit être exception-safe de toute façon, que tu
>lances toi-même des exceptions ou pas.
Non. Il y a des tonnes de projets que je connais qui
preconisaient et preconisent encore le -fno-exceptions. => ca
veut dire qu'il y a plein de projets qui interdisent
explicitement dans leur cahier des charges la levee
d'exceptions... et qui sont codes en consequence.
Evidemment, ca n'est pas toujours marque, mais je me garderai
bien d'utiliser des exceptions avec du code que je n'ai pas
ecrit si je n'ai pas quelques paragraphes dans la
documentation de ce code qui mentionnent explicitement la
gestion des exceptions.
In article <7hvl5556bh2pu75bkaeuckmhp61l33k...@4ax.com>,
Fabien LE LEZ <usene...@x.edulang.com> wrote:
>On Mon, 13 Jul 2009 09:26:16 +0000 (UTC), es...@lain.home (Marc
>Espie):
>>Ses divers travaux (gotw, exceptional C++ et ses suites)
>>sont quand meme fortement centres sur la difficulte de faire
>>des choses correctes en presence d'exceptions...
>Certes, mais c'est relativement indépendant de la question
>qui nous occupe :
>- Presque n'importe quel code peut lancer une exception, donc
>ton code doit être exception-safe de toute façon, que tu
>lances toi-même des exceptions ou pas.
Non. Il y a des tonnes de projets que je connais qui
preconisaient et preconisent encore le -fno-exceptions. => ca
veut dire qu'il y a plein de projets qui interdisent
explicitement dans leur cahier des charges la levee
d'exceptions... et qui sont codes en consequence.
Evidemment, ca n'est pas toujours marque, mais je me garderai
bien d'utiliser des exceptions avec du code que je n'ai pas
ecrit si je n'ai pas quelques paragraphes dans la
documentation de ce code qui mentionnent explicitement la
gestion des exceptions.
In article ,
Fabien LE LEZ wrote:
>On Mon, 13 Jul 2009 09:26:16 +0000 (UTC), (Marc
>Espie):
>>Ses divers travaux (gotw, exceptional C++ et ses suites)
>>sont quand meme fortement centres sur la difficulte de faire
>>des choses correctes en presence d'exceptions...
>Certes, mais c'est relativement indépendant de la question
>qui nous occupe :
>- Presque n'importe quel code peut lancer une exception, donc
>ton code doit être exception-safe de toute façon, que tu
>lances toi-même des exceptions ou pas.
Non. Il y a des tonnes de projets que je connais qui
preconisaient et preconisent encore le -fno-exceptions. => ca
veut dire qu'il y a plein de projets qui interdisent
explicitement dans leur cahier des charges la levee
d'exceptions... et qui sont codes en consequence.
Evidemment, ca n'est pas toujours marque, mais je me garderai
bien d'utiliser des exceptions avec du code que je n'ai pas
ecrit si je n'ai pas quelques paragraphes dans la
documentation de ce code qui mentionnent explicitement la
gestion des exceptions.
On Jul 13, 11:26 am, (Marc Espie) wrote:Pas tres surprenant qu'elles soient peu utilisees, surtout vu
la difference de mentalite cote programmation qu'elles
impliquent (pour avoir des exceptions, il faut vraiment faire
du C++, et plus du C ameliore...)
Oui, mais pour ça, il y a bien d'autres raisons aussi. Même sans
exceptions, je fais du C++, et non du C amélioré (et ça, depuis
1992, au moins -- et il n'y avait pas d'exceptions alors).
On Jul 13, 11:26 am, es...@lain.home (Marc Espie) wrote:
Pas tres surprenant qu'elles soient peu utilisees, surtout vu
la difference de mentalite cote programmation qu'elles
impliquent (pour avoir des exceptions, il faut vraiment faire
du C++, et plus du C ameliore...)
Oui, mais pour ça, il y a bien d'autres raisons aussi. Même sans
exceptions, je fais du C++, et non du C amélioré (et ça, depuis
1992, au moins -- et il n'y avait pas d'exceptions alors).
On Jul 13, 11:26 am, (Marc Espie) wrote:Pas tres surprenant qu'elles soient peu utilisees, surtout vu
la difference de mentalite cote programmation qu'elles
impliquent (pour avoir des exceptions, il faut vraiment faire
du C++, et plus du C ameliore...)
Oui, mais pour ça, il y a bien d'autres raisons aussi. Même sans
exceptions, je fais du C++, et non du C amélioré (et ça, depuis
1992, au moins -- et il n'y avait pas d'exceptions alors).
Le problème, et c'est un vrai problème, c'est la documentation
des bibliothèques tièrces. D'une part, je comprends bien tes
hésitations à utiliser une bibliothèque qui n'a pas documentée
ces garanties. De l'autre, quelle position prendre si elle a
documenté que telle ou telle erreur sera signalée par une
exception ? Ou qu'elle n'a rien documenté, mais qu'elle utilise
manifestement std::vector ou std::string ? (Si une fonction
prend un std::vector<T>& en paramètre, et documente qu'elle met
son résultat dans ce vector, je partirais du principe qu'elle
peut lever une std::bad_alloc. Au moins qu'elle document qu'il
faut avoir remplacé le new_handler avec quelque chose qui ne
lève pas d'exception.)
Le problème, et c'est un vrai problème, c'est la documentation
des bibliothèques tièrces. D'une part, je comprends bien tes
hésitations à utiliser une bibliothèque qui n'a pas documentée
ces garanties. De l'autre, quelle position prendre si elle a
documenté que telle ou telle erreur sera signalée par une
exception ? Ou qu'elle n'a rien documenté, mais qu'elle utilise
manifestement std::vector ou std::string ? (Si une fonction
prend un std::vector<T>& en paramètre, et documente qu'elle met
son résultat dans ce vector, je partirais du principe qu'elle
peut lever une std::bad_alloc. Au moins qu'elle document qu'il
faut avoir remplacé le new_handler avec quelque chose qui ne
lève pas d'exception.)
Le problème, et c'est un vrai problème, c'est la documentation
des bibliothèques tièrces. D'une part, je comprends bien tes
hésitations à utiliser une bibliothèque qui n'a pas documentée
ces garanties. De l'autre, quelle position prendre si elle a
documenté que telle ou telle erreur sera signalée par une
exception ? Ou qu'elle n'a rien documenté, mais qu'elle utilise
manifestement std::vector ou std::string ? (Si une fonction
prend un std::vector<T>& en paramètre, et documente qu'elle met
son résultat dans ce vector, je partirais du principe qu'elle
peut lever une std::bad_alloc. Au moins qu'elle document qu'il
faut avoir remplacé le new_handler avec quelque chose qui ne
lève pas d'exception.)
selon ma (modeste) expérience, les exceptions en C++sont très largeme nt sous
utilisées, et on en reste (me semble t-il) toujours à la bonne vieill e
méthode du retour d'un code d'erreur.
selon ma (modeste) expérience, les exceptions en C++sont très largeme nt sous
utilisées, et on en reste (me semble t-il) toujours à la bonne vieill e
méthode du retour d'un code d'erreur.
selon ma (modeste) expérience, les exceptions en C++sont très largeme nt sous
utilisées, et on en reste (me semble t-il) toujours à la bonne vieill e
méthode du retour d'un code d'erreur.
On 4 juil, 12:34, "Guillaume Gourdin" wrote:selon ma (modeste) expérience, les exceptions en C++sont très largement sous
utilisées, et on en reste (me semble t-il) toujours à la bonne vieille
méthode du retour d'un code d'erreur.
La raison principale à cela est que certains considèrent qu'écrire du
code exception-safe est compliqué (ou du moins beaucoup plus compliqué
que de gérer des codes de retour) ce qui est bien entendu absolument
faux, puisqu'au contraire écrire du code exception-safe basique est
trivial puisqu'il suffit de suivre le RAII. (si on doit gérer plein de
vieux code pourri ne suivant pas ce principe, par contre, c'est bel et
bien compliqué)
On 4 juil, 12:34, "Guillaume Gourdin" <tr...@hotmail.com> wrote:
selon ma (modeste) expérience, les exceptions en C++sont très largement sous
utilisées, et on en reste (me semble t-il) toujours à la bonne vieille
méthode du retour d'un code d'erreur.
La raison principale à cela est que certains considèrent qu'écrire du
code exception-safe est compliqué (ou du moins beaucoup plus compliqué
que de gérer des codes de retour) ce qui est bien entendu absolument
faux, puisqu'au contraire écrire du code exception-safe basique est
trivial puisqu'il suffit de suivre le RAII. (si on doit gérer plein de
vieux code pourri ne suivant pas ce principe, par contre, c'est bel et
bien compliqué)
On 4 juil, 12:34, "Guillaume Gourdin" wrote:selon ma (modeste) expérience, les exceptions en C++sont très largement sous
utilisées, et on en reste (me semble t-il) toujours à la bonne vieille
méthode du retour d'un code d'erreur.
La raison principale à cela est que certains considèrent qu'écrire du
code exception-safe est compliqué (ou du moins beaucoup plus compliqué
que de gérer des codes de retour) ce qui est bien entendu absolument
faux, puisqu'au contraire écrire du code exception-safe basique est
trivial puisqu'il suffit de suivre le RAII. (si on doit gérer plein de
vieux code pourri ne suivant pas ce principe, par contre, c'est bel et
bien compliqué)
In article .com>,
Mathias Gaunard wrote:
>On 4 juil, 12:34, "Guillaume Gourdin" wrote:
>> selon ma (modeste) expérience, les exceptions en C++sont très larg ement sous
>> utilisées, et on en reste (me semble t-il) toujours à la bonne vie ille
>> méthode du retour d'un code d'erreur.
>La raison principale à cela est que certains considèrent qu'écrire du
>code exception-safe est compliqué (ou du moins beaucoup plus compliqu é
>que de gérer des codes de retour) ce qui est bien entendu absolument
>faux, puisqu'au contraire écrire du code exception-safe basique est
>trivial puisqu'il suffit de suivre le RAII. (si on doit gérer plein de
>vieux code pourri ne suivant pas ce principe, par contre, c'est bel et
>bien compliqué)
Ouais, ben dans la vraie vie, tu n'as generalement pas le temps de tout
ecrire de fond en comble, ni meme d'auditer serieusement le code que tu
reutilises... ca fait tout un ensemble de cas ou les exceptions sont
difficilement utilisables.
Ca n'empeche pas de suivre evidemment de bons preceptes pour que le code
nouveau fonctionne avec des exceptions... le jour futur ou tout le code
fonctionnera correctement !
In article <4ec06442-a5a4-4bd5-8f0e-b7273bab1...@b14g2000yqd.googlegroups .com>,
Mathias Gaunard <loufo...@gmail.com> wrote:
>On 4 juil, 12:34, "Guillaume Gourdin" <tr...@hotmail.com> wrote:
>> selon ma (modeste) expérience, les exceptions en C++sont très larg ement sous
>> utilisées, et on en reste (me semble t-il) toujours à la bonne vie ille
>> méthode du retour d'un code d'erreur.
>La raison principale à cela est que certains considèrent qu'écrire du
>code exception-safe est compliqué (ou du moins beaucoup plus compliqu é
>que de gérer des codes de retour) ce qui est bien entendu absolument
>faux, puisqu'au contraire écrire du code exception-safe basique est
>trivial puisqu'il suffit de suivre le RAII. (si on doit gérer plein de
>vieux code pourri ne suivant pas ce principe, par contre, c'est bel et
>bien compliqué)
Ouais, ben dans la vraie vie, tu n'as generalement pas le temps de tout
ecrire de fond en comble, ni meme d'auditer serieusement le code que tu
reutilises... ca fait tout un ensemble de cas ou les exceptions sont
difficilement utilisables.
Ca n'empeche pas de suivre evidemment de bons preceptes pour que le code
nouveau fonctionne avec des exceptions... le jour futur ou tout le code
fonctionnera correctement !
In article .com>,
Mathias Gaunard wrote:
>On 4 juil, 12:34, "Guillaume Gourdin" wrote:
>> selon ma (modeste) expérience, les exceptions en C++sont très larg ement sous
>> utilisées, et on en reste (me semble t-il) toujours à la bonne vie ille
>> méthode du retour d'un code d'erreur.
>La raison principale à cela est que certains considèrent qu'écrire du
>code exception-safe est compliqué (ou du moins beaucoup plus compliqu é
>que de gérer des codes de retour) ce qui est bien entendu absolument
>faux, puisqu'au contraire écrire du code exception-safe basique est
>trivial puisqu'il suffit de suivre le RAII. (si on doit gérer plein de
>vieux code pourri ne suivant pas ce principe, par contre, c'est bel et
>bien compliqué)
Ouais, ben dans la vraie vie, tu n'as generalement pas le temps de tout
ecrire de fond en comble, ni meme d'auditer serieusement le code que tu
reutilises... ca fait tout un ensemble de cas ou les exceptions sont
difficilement utilisables.
Ca n'empeche pas de suivre evidemment de bons preceptes pour que le code
nouveau fonctionne avec des exceptions... le jour futur ou tout le code
fonctionnera correctement !
Personnellement, sans parler d'exception, je trouve que RAII simplifie
le code et je suis plus tranquille, ça évite retracer les chemins
d'executions pour insérer le code au bon endroit.
Personnellement, sans parler d'exception, je trouve que RAII simplifie
le code et je suis plus tranquille, ça évite retracer les chemins
d'executions pour insérer le code au bon endroit.
Personnellement, sans parler d'exception, je trouve que RAII simplifie
le code et je suis plus tranquille, ça évite retracer les chemins
d'executions pour insérer le code au bon endroit.
In article com>,
Michael Doubez wrote:
>Personnellement, sans parler d'exception, je trouve que RAII simplifie
>le code et je suis plus tranquille, ça évite retracer les chemins
>d'executions pour insérer le code au bon endroit.
Bien evidemment. RAII, ca veut juste dire faire du C++, et pas du C
"mode objet". Mais bon, vu ce qu'on rencontre dans la nature... ;-<
In article <90303294-231c-4412-beb3-ba80cccaf...@y7g2000yqa.googlegroups. com>,
Michael Doubez <michael.dou...@free.fr> wrote:
>Personnellement, sans parler d'exception, je trouve que RAII simplifie
>le code et je suis plus tranquille, ça évite retracer les chemins
>d'executions pour insérer le code au bon endroit.
Bien evidemment. RAII, ca veut juste dire faire du C++, et pas du C
"mode objet". Mais bon, vu ce qu'on rencontre dans la nature... ;-<
In article com>,
Michael Doubez wrote:
>Personnellement, sans parler d'exception, je trouve que RAII simplifie
>le code et je suis plus tranquille, ça évite retracer les chemins
>d'executions pour insérer le code au bon endroit.
Bien evidemment. RAII, ca veut juste dire faire du C++, et pas du C
"mode objet". Mais bon, vu ce qu'on rencontre dans la nature... ;-<
Quand on a pas les outils, RAII impose une foultitude de petites
classes, ce qui peut être énervant.
Quand on a pas les outils, RAII impose une foultitude de petites
classes, ce qui peut être énervant.
Quand on a pas les outils, RAII impose une foultitude de petites
classes, ce qui peut être énervant.