Boost logo

Boost :

Subject: Re: [boost] [Contract] noexcept and custom contract violation handlers
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-09-02 12:21:33


on Thu Aug 30 2012, Andrzej Krzemienski <akrzemi1-AT-gmail.com> wrote:

> Hi,
> I have just realized that there is an interesting interaction between
> "noexcept" and Contract Programming framework. Not only Lorenzo's library,
> but even if contracts were a language feature. N3248 ("noexcept prevents
> library validation",
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3248.pdf)
> recommends that functions with any preconditions should not be declared
> noexcept(true) in case someone wants to report precondition failures via
> exceptions.

This is bad advice and should be ignored. Exceptions and preconditions
have no inherent relationship, exceptions are not a good tool for
handling precondition failures, and nothing should be done to link them.

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost

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