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

### 1004. Clarify "throws an exception"

Section: 16.4.5.8 [res.on.functions] Status: C++11 Submitter: Alisdair Meredith Opened: 2009-03-11 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [res.on.functions].

View all issues with C++11 status.

Discussion:

Addresses UK 179

According to the 4th bullet there is a problem if "if any replacement function or handler function or destructor operation throws an exception". There should be no problem throwing exceptions so long as they are caught within the function.

[ Batavia (2009-05): ]

> The phrasing "throws an exception" is commonly used elsewhere to mean "throws or propagates an exception." Move to Open pending a possible more general resolution.

[ 2009-07 Frankfurt: ]

> Replace "propagates" in the proposed resolution with the phrase "exits via" and move to Ready.

Proposed resolution:

Change the 4th bullet of 16.4.5.8 [res.on.functions], p2:

> - if any replacement function or handler function or destructor operation throws exits via an exception, unless specifically allowed in the applicable Required behavior: paragraph.