Thread overview | |||||
---|---|---|---|---|---|
|
January 28, 2016 Make function nothrow | ||||
---|---|---|---|---|
| ||||
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. |
January 28, 2016 Re: Make function nothrow | ||||
---|---|---|---|---|
| ||||
Posted in reply to ref2401 | 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 |
January 28, 2016 Re: Make function nothrow | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli | On Thursday, 28 January 2016 at 16:22:23 UTC, Ali Çehreli wrote:
> There is assumeWontThrow which terminates if an exception is indeed thrown:
>
> http://dlang.org/library/std/exception/assume_wont_throw.html
>
> Ali
nice one, thx
|
Copyright © 1999-2021 by the D Language Foundation