Boost logo

Boost :

Subject: Re: [boost] Looking for thoughts on a new smart pointer: shared_ptr_nonnull
From: Daniel James (daniel_at_[hidden])
Date: 2013-10-04 16:09:02

On 4 October 2013 17:45, Eric Niebler <eniebler_at_[hidden]> wrote:
> On 10/4/2013 9:20 AM, Matt Calabrese wrote:
>> but I definitely am against an exception for this type of
>> programmer error.
> This is the crux of it. If this condition really does represent a
> programmer error (and IMO in this case it does), then Matt is right.
> Throwing is wrong. Programmer error == bug == your program is already in
> some weird state. Continuing by throwing an exception and executing an
> arbitrary amount of code is not good.

I don't think this is always the case. For example, unexpected output
from a parser should not be an indicator of an error in the global

> Precondition violations ==> assertions. Use BOOST_ASSERT. That gives
> people a way to hook the behavior while giving a sane default.

If throwing an exception when this is null is a bad idea, then not
checking in release mode is surely a terrible one.

Boost list run by bdawes at, gregod at, cpdaniel at, john at