Contracts or Exceptions?

Kagamin spam at here.lot
Wed Mar 30 07:18:56 PDT 2011


Mike Linford Wrote:

> Hello,
> 
> So I'm writing a function for a library. It takes a struct as an 
> argument. The struct's fields can't just be any old values, though. The 
> function won't work if some of the fields are weird. It could return an 
> erroneous value, or even crash. 
> 
> The thing is, though, that I can't tell whether the best approach is to 
> use an in-contract or throw an exception if it doesn't pass my test. What 
> would you guys recommend?

Error (like AssertError) is intended to be irrecoverable like out of memory or stack overflow, Exception is intended to be catchable.


More information about the Digitalmars-d-learn mailing list