What does nothrow buy me?

Atila Neves atila.neves at gmail.com
Tue Oct 27 18:10:45 UTC 2020


On Monday, 26 October 2020 at 18:47:41 UTC, Q. Schroll wrote:
> Obviously, nothrow documents the behavior of a function and is 
> checked when the code is available to the compiler.
>
> At first glance, one could assume a nothrow function can save 
> the compiler from the need to generate exception handling stuff 
> for a function. But since nothrow doesn't mean the function 
> won't throw, but merely that it won't throw an Exception, what 
> optimizations does nothrow enable?

It's also extremely useful for when D code is being called from 
other languages. Throwing an exception from a function registered 
with Python is not a thing one wants to do, for instance.


More information about the Digitalmars-d mailing list