try節はthrow-catchを伴わなくてもよい。

int method(){
    assert this.checkPreCondition();
    try{
        return 1;
    } finally {
        assert this.checkPostCondition();
    }
}

try節の評価が終了した段階で必ずfinally節を評価する、という仕様になっている。つまり、try節内でreturnやbreakを利用した場合、try節の直後、元の文脈に復帰する直前にfinally節が評価される。
つまり、事後条件の挿入にはうってつけである。