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.