Affected subclause: [except.spec]
Change:
Remove dynamic exception specifications
. Rationale:
Dynamic exception specifications were a deprecated feature
that was complex and brittle in use
. They interacted badly with the type system,
which became a more significant issue in this International Standard
where (non-dynamic) exception specifications are part of the function type
. Effect on original feature:
A valid C++ 2014 function declaration,
member function declaration,
function pointer declaration,
or function reference declaration,
if it has a potentially throwing dynamic exception specification,
will be rejected as ill-formed in this International Standard
. Violating a non-throwing dynamic exception specification
will call
terminate
rather than
unexpected
and might not perform stack unwinding prior to such a call
.