Exception handling in the formatted I/O functions (istream::operator>> and ostream::operator<<) appears to be broken. 1. Exceptions derived from std::exception are handled correctly, except that the original exception isn't rethrown if badbit is set in exceptions(), an ios_base::failure is thrown instead. 2. Exceptions not derived from std::exception are not handled at all, badbit is not set in rdstate() and the exception is passed on to the caller even if badbit is not set in exceptions(). Release: gcc-3.2.1 Environment: Red Hat Linux 8.0 How-To-Repeat: See attachment.
It seems this bug has been fixed, at least the test case now runs as expected.
All tests pass on the mainline so closing as fixed.