Boost logo

Boost :

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++
semantics.

regards,
alexander.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk