assert vs enforce?
robert at octarineparrot.com
Sat Jan 22 16:38:54 PST 2011
On 23/01/11 00:33, Sean Eskapp wrote:
> What's the difference between assert and enforce in D?
Use assert() for something that must almost be true, regardless of user
input, or anything else.
enforce() on the other hand is for things which may or may not be true.
The source code should clear things up:
T enforce(T)(T value, lazy Throwable ex)
if (!value) throw ex();
So it's essentially just shorthand for throwing an exception.
void main(string args)
enforce(args.length > 2, "The user needs to pass the correct
assert(1+1==2, "If this isn't true, the application should terminate");
More information about the Digitalmars-d-learn