This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TC1 status.

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

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

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.