Title
Should exception-specifications be part of the type system?
Status
cd4
Section
14.5 [except.spec]
Submitter
Jonathan Schilling

Created on 1999-02-02.00:00:00 last changed 95 months ago

Messages

Date: 2015-05-25.00:00:00

Additional note, April, 2015:

EWG has expressed interest in further exploring this issue (see EWG issue 169), so it has been returned to "extension" status. See also issues 1946 and 2010.

Date: 2014-02-15.00:00:00

Rationale (February, 2014):

EWG determined that no action should be taken on this issue.

Date: 2013-09-15.00:00:00

Notes from the September, 2013 meeting:

CWG feels that EWG would be a better venue for this issue. Possible options might include removal of dynamic-exception-specifications and incorporation of the binary noexcept status in the type system.

Date: 2013-04-15.00:00:00

Notes from the April, 2013 meeting:

CWG feels that a paper on this topic is needed before any action can be taken.

Date: 2013-03-15.00:00:00

Additional note (March, 2013):

The advent of the noexcept operator makes this issue more relevant in C++11.

Date: 2015-10-15.00:00:00

[Adopted at the October, 2015 meeting as P0012R1.]

It was tentatively agreed at the Santa Cruz meeting that exception specifications should fully participate in the type system. This change would address gaps in the current static checking of exception specifications such as

    void (*p)() throw(int);
    void (**pp)() throw() = &p;   // not currently an error

This is such a major change that it deserves to be a separate issue.

See also issues 25, 87, and 133.

History
Date User Action Args
2017-02-06 00:00:00adminsetstatus: accepted -> cd4
2015-11-10 00:00:00adminsetstatus: extension -> accepted
2015-04-13 00:00:00adminsetmessages: + msg5441
2015-04-13 00:00:00adminsetstatus: nad -> extension
2014-03-03 00:00:00adminsetmessages: + msg4985
2014-03-03 00:00:00adminsetstatus: extension -> nad
2013-10-14 00:00:00adminsetmessages: + msg4718
2013-10-14 00:00:00adminsetstatus: open -> extension
2013-05-03 00:00:00adminsetmessages: + msg4362
2013-03-18 00:00:00adminsetmessages: + msg4300
1999-02-02 00:00:00admincreate