try節はthrow-catchを伴わなくてもよい。
int method(){ assert this.checkPreCondition(); try{ return 1; } finally { assert this.checkPostCondition(); } }
try節の評価が終了した段階で必ずfinally節を評価する、という仕様になっている。つまり、try節内でreturnやbreakを利用した場合、try節の直後、元の文脈に復帰する直前にfinally節が評価される。
つまり、事後条件の挿入にはうってつけである。