64. Exception handling in basic_istream::operator>>(basic_streambuf*)

Section: 30.7.4.2.3 [istream.extractors] Status: TC1 Submitter: Matt Austern Opened: 1998-08-11 Last modified: 2017-04-24

Priority: Not Prioritized

View all other issues in [istream.extractors].

View all issues with TC1 status.

Discussion:

27.6.1.2.3, paragraph 13, is ambiguous. It can be interpreted two different ways, depending on whether the second sentence is read as an elaboration of the first.

Proposed resolution:

Replace [istream::extractors], paragraph 13, which begins "If the function inserts no characters ..." with:

If the function inserts no characters, it calls setstate(failbit), which may throw ios_base::failure (27.4.4.3). If it inserted no characters because it caught an exception thrown while extracting characters from sb and failbit is on in exceptions() (27.4.4.3), then the caught exception is rethrown.