Je suis l'aide de fstream. Est-il possible d'obtenir le message d'erreur/exception?
Par exemple, si je suis incapable d'ouvrir le fichier?
Je suis l'aide de fstream. Est-il possible d'obtenir le message d'erreur/exception?
Par exemple, si je suis incapable d'ouvrir le fichier?
Réponse courte: non. Même en vérifiant errno
suivant la détection de défaillance (en utilisant par ex. bad()
, fail()
) après diverses opérations n'est pas fiable. La création d'un ifstream
/ofstream
enveloppant d'un fichier qui ne peut pas être ouvert ne signifie pas nécessairement définir un échec à peu jusqu'à ce que vous essayez de lire, d'écrire, ou de le fermer.
Réponse longue: vous pouvez appeler ios::exceptions(ios_base::iostate)
de la demande qu' ios_base::ios_failure
des exceptions être levée lorsqu'un bit correspondant (badbit, failbit n', eofbit) est défini, mais (au moins sur GNU et Microsoft bibliothèques C++) n'est pas vous obtenir plus d'informations qu'à vérifier manuellement les bits, et finit par être largement inutile, à mon humble avis.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.