Apache C++ Standard Library User's Guide
Chapter 29: Error State of Streams
29.1 About Flags
29.2 Checking the Stream State
29.3 Catching Exceptions