Est-il possible de faire fonctionner un flux personnalisé comme les flux stanadr en ce qui concerne les erreurs? Par défaut, utilisez les bits good/fail/bad/eof plutôt que des exceptions? Les documents boost ne mentionnent que le lancement d'une erreur std :: pour les erreurs de flux et la propagation d'une autre erreur (par exemple, un badalloc pour tenter d'allouer un tampon), mais le code boost ne semble pas les attraper. code d'utilisateur pour les gérer, mais tout mon code existant repose sur les méthodes good(), bad() etc et la méthode clear() dans les cas où il faut réessayer après une erreur.Flux C++ Boost io, gestion des erreurs
Répondre
De http://www.trip.net/~bobwb/cppnotes/lec08.htm
L'état d'erreur peut être définie en utilisant:
vide clair (iostate = 0);
La valeur par défaut de zéro entraîne la définition de ios_base :: goodbit.
clear(); Est donc équivalent à
clear (0);
qui est équivalent à
clair (ios_base :: goodbit);
Notez que ios_base :: goodbit est une valeur non nulle. clear() peut être utilisé pour définir l'un des autres bits en tant que partie du code d'un programmeur pour l'opérateur >>() pour un objet particulier. Par exemple:
si (bad_char) est.clear (ios_base :: badbit); // définir le badbit d'istream
Cela ne répond pas à la question. La question est de savoir si les flux d'E/S [Boost] (http://www.boost.org/) exposent ou non une interface similaire. –
La question telle qu'elle se lisait lorsque je lui ai répondu posait des questions sur l'utilisation d'un flux personnalisé, puis faisait référence aux flux boost. Il ne m'était pas clair s'il s'intéresse seulement aux courants de boost tels qu'ils sont, s'il les a sous-classés lui-même, ou à ses propres ruisseaux personnalisés. – gymbrall
- 1. Gestion des erreurs ASP.NET
- 2. Gestion des erreurs SQL
- 3. Gestion des flux RSS
- 4. Gestion des erreurs ASP.NET Question
- 5. gestion des erreurs dans php
- 6. Gestion des erreurs avec VS2008
- 7. gestion des erreurs javascript globales
- 8. gestion des erreurs pour AJAX div
- 9. Utilisez l'instruction switch C pour la gestion des erreurs
- 10. Approche minimaliste pour la gestion des erreurs
- 11. Objets et gestion des erreurs en PHP
- 12. Gestion des erreurs à partir de HttpWebRequest.GetResponse
- 13. gestion des erreurs avec spring + servlet spec
- 14. Gestion des erreurs dans le contrôle ReportViewer
- 15. Gestion des erreurs d'analyseur de requête Lucene
- 16. Gestion des erreurs URLS qui n'existent pas
- 17. SQL Server Service Broker Gestion des erreurs
- 18. VBScript - Utilisation de la gestion des erreurs
- 19. Boost (BGL): Comment désobéir mes erreurs?
- 20. chaînage des flux C++
- 21. Gestion des erreurs sur les sockets dans SAS sous OpenVMS
- 22. C++: problème de gestion des exceptions de thread croisé avec boost :: exception
- 23. Flux de travail 4.0 Argument erreurs
- 24. MVC Gestion des erreurs globales: Application_Error ne déclenche pas
- 25. Qt et la stratégie de gestion des erreurs
- 26. Pourquoi la gestion des erreurs est-elle importante?
- 27. Recommandations de gestion des erreurs AJAX et meilleures pratiques
- 28. ASP.Net MVC Exception Logging combiné avec la gestion des erreurs
- 29. Gestion des erreurs personnalisées pour une page spécifique dans ASP.Net
- 30. Boîte de dialogue de gestion des erreurs personnalisées WPF?
Quels documents Boost regardez-vous? –
http://www.boost.org/doc/libs/1_39_0/libs/iostreams/doc/index.html –
Sur http://www.boost.org/doc/libs/1_39_0/libs/iostreams/doc/ guide/exceptions.html # standard_iostreams "Une troisième possibilité aurait été de suivre l'exemple de std :: basic_streambuf et de permettre aux fonctions membres des filtres et des dispositifs de signaler les erreurs en lançant des exceptions ou en renvoyant des indicateurs d'erreur désignés. car cela aurait compliqué les spécifications des différents concepts de Filter et Device et rendu les composants internes de stream_buffer plus difficiles à comprendre et à maintenir. " – akramer