Subject: Re: [boost] The noexcept Specifier & Block
From: Alexander Terekhov (terekhov_at_[hidden])
Date: 2009-04-18 09:10:48
Gabriel Dos Reis wrote:
> On Fri, Apr 17, 2009 at 12:59 PM, Alexander Terekhov <terekhov_at_[hidden]> wrote:
> > Gabriel Dos Reis wrote:
> > [...]
> >> http://www.codesourcery.com/public/cxx-abi/abi-eh.html
> >> And quoting for the document:
> >> # A two-phase exception-handling model is not strictly necessary to implement
> >> # C++ language semantics, but it does provide some benefits. For example,
> > ^^^^^^^^^^^^
> >> # the first phase allows an exception-handling mechanism to dismiss an
> >> # exception before stack unwinding begins, which allows resumptive exception
> >> # handling (correcting the exceptional condition and resuming execution at
> >> # the point where it was raised). While C++ does not support resumptive
> >> # exception handling, other languages do, and the two-phase model allows
> >> # C++ to coexist with those languages on the stack.
> >> How many industrial strength languages support resumptive exception handling?
> > Irrelevant.
> Not, if you're talking about the impact of EH.
If you insist... this is very vendor/platform specific. On IBM z/OS for
example, resumptive exception handling (aka "condition handling") is
available for COBOL, PL/I, C, and C++ (not sure about FORTRAN). I still
don't see the relevancy, though.
> > There are other benefits provided by two-phase EH apart from resumption.
> Such as?
Such as the one below.
> > Avoiding unwinding for unexpected exceptions, for example.
> Which is not C++ semantics.
What? It's spelled out in 15.3/9 as implementation-defined C++
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk