Je ne vois pas le problème d'un exemple artificiel. Si c'est pinailler pour le plaisir de pinailler...
Et ? Cela dit explicitement que ton constructeur ne pourra lancer qu'un int, c'est un "contrat" que tu passes avec l'utilisateur de ta classe.Au dessus de ça, ton code est gênant car il empêche l'utilisateur d'attraper une autre exception que int.
Si une autre exception est lancée, ce sera un bug de la classe/bibliothèque.
Ensuite, un bad_alloc ne se produit qu'en embarqué ou dans le cas d'une boucle infinie (ou d'une implémentation perso de new).
Donc si on ne développe pas dans l'embarqué, je pense qu'on peut raisonnablement ignorer bad_alloc surtout si le fait que l'application plante n'est pas critique.
Bon après il y a toujours des cas particuliers, mais c'est qu'un exemple, je n'ai pas la prétention d'écrire du code universel.
Partager