Subject: Re: [boost] [contract] Broken postconditions on throw
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2012-08-26 18:32:54


AMDG

On 08/26/2012 12:10 PM, Andrzej Krzemienski wrote:
> <snip>
> Function set_weight() is intended to assign its (output) argument with a
> value representing weight (in the physical sense). We guarantee that the
> value we set is always non-negative. The function clumsily attempts to
> verify the condition itself (the line with *). It signals the failure with
> an exception, but unfortunately fails to satisfy the postcondition. I
> expect that this situation should be reported as a postcondition violation.
> But no violation is reported, and the program successfully outputs "CAUGHT
> EXCEPTION".
>

This doesn't violate the postcondition.
postconditions are only valid if the function
returns normally.

In Christ,
Steven Watanabe