Make function nothrow

Ali Çehreli via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Jan 28 08:22:23 PST 2016


On 01/28/2016 08:05 AM, ref2401 wrote:
> There are functions in Phobos that do not throw but they are not marked
> as `nothrow`.
> When I need to call them from my `nothrow` code I do this:
>
> void foo() { /* I won't throw, honestly. */ }
>
> void bar() nothrow {
>      scope(failure) assert(false);
>      foo();
> }
>
> The question is: Is it ok to do such thing or should I just stick with
> try {} catch() {}?
> Thank you.
>

There is assumeWontThrow which terminates if an exception is indeed thrown:

   http://dlang.org/library/std/exception/assume_wont_throw.html

Ali



More information about the Digitalmars-d-learn mailing list