The Right Approach to Exceptions

Jim Hewes jimhewes at gmail.com
Wed Feb 22 22:33:47 PST 2012


On 2/21/2012 2:29 PM, Ali Çehreli wrote:
> On 02/18/2012 09:09 PM, Jim Hewes wrote:
>
>  > I think of exception handling as tied to contract programming.
>
> I think your use of the word 'contract' is colliding with the contract
> programming feature. What you describe later does not match with the
> contract programming and I guess is the reason why Andrei is pointing
> out two chapters from TDPL.
>
> I will reread those chapters later today but I think Andrei is referring
> to the distinction between assert() and std.exception.enforce().
>

Thanks. I assume the objection is about the bad parameters. In design by 
contract, a function should not be checking the input, correct? It 
assumes it's correct. But I was mostly thinking of the case when the 
functions are more of a public API and you can't trust the input. I did 
mention using assert for internal functions. But I guess if you are 
strict, you should never check input. I just shouldn't mention design by 
contract at all then. :)


More information about the Digitalmars-d mailing list