Created on 2010-11-02.00:00:00 last changed 130 months ago
[Voted into the WP at the March, 2011 meeting as part of paper N3262.]
Proposed resolution (November, 2010) [SUPERSEDED]:
Change 14.5 [except.spec] paragraph 8 as follows:
A function is said to allow an exception of type E if the constant-expression in its noexcept-specification evaluates to false or its dynamic-exception-specification contains a type T for which a handler of type T would be a match (14.4 [except.handle]) for an exception of type E.
According to 14.5 [except.spec] paragraph2 8 and 9,
A function is said to allow an exception of type E if its dynamic-exception-specification contains a type T for which a handler of type T would be a match (14.4 [except.handle]) for an exception of type E.
Whenever an exception is thrown and the search for a handler (14.4 [except.handle]) encounters the outermost block of a function with an exception-specification that does not allow the exception, then,
if the exception-specification is a dynamic-exception-specification, the function std::unexpected() is called (_N4606_.15.5.2 [except.unexpected]),
otherwise, the function std::terminate() is called (14.6.2 [except.terminate]).
This does not define what it means for a noexcept-specification to allow an exception.
History | |||
---|---|---|---|
Date | User | Action | Args |
2014-03-03 00:00:00 | admin | set | status: fdis -> c++11 |
2011-04-10 00:00:00 | admin | set | messages: + msg3409 |
2011-04-10 00:00:00 | admin | set | status: review -> fdis |
2010-11-29 00:00:00 | admin | set | messages: + msg3116 |
2010-11-02 00:00:00 | admin | create |