Ce que tu ne veux pas comprendre, c'est que la signature throw() indique que la fonction sur laquelle elle s'applique ne lancera jamais une exception. Ça ne veut pas dire que les fonctions appelées par la dite fonction son garanties exception-free. Ce qui est garanti, c'est que l'exception n'ira pas plus loin.
C'est une garantie, importante quand on écrit du code safe-exception.
Et une chose que tu ne comprends pas non-plus, c'est que C++ conserve une compatibilité avec C. Et les fonctions C, elles ne savent pas ce qu'est une exception.
Si tu ne veux pas gérer les exceptions, le compilateur propose une option pour ça.
Comme je l'ai dit plus haut, Java est un langage conçu pour élargir la base des développeurs tout en garantissant une qualité du développement. Ça a des avantages, ça a des inconvénient.
[^] # Re: Y'a-t-il encore besoin de nouveaux langages "bas niveau"?
Posté par LupusMic (site web personnel, Mastodon) . En réponse à la dépêche Le langage D. Évalué à 1.
Ce que tu ne veux pas comprendre, c'est que la signature throw() indique que la fonction sur laquelle elle s'applique ne lancera jamais une exception. Ça ne veut pas dire que les fonctions appelées par la dite fonction son garanties exception-free. Ce qui est garanti, c'est que l'exception n'ira pas plus loin.
C'est une garantie, importante quand on écrit du code safe-exception.
Et une chose que tu ne comprends pas non-plus, c'est que C++ conserve une compatibilité avec C. Et les fonctions C, elles ne savent pas ce qu'est une exception.
Si tu ne veux pas gérer les exceptions, le compilateur propose une option pour ça.
Comme je l'ai dit plus haut, Java est un langage conçu pour élargir la base des développeurs tout en garantissant une qualité du développement. Ça a des avantages, ça a des inconvénient.