事前事後の表明ってコードだけじゃ不十分と言う意味でthrows()と同程度の重要性しかないよね。
だから仕様としてドキュメントに書いて入り口出口でassertするだけで十分だし
assert(pre)
try{
 ...
}finally{
 assert(post);
}

言語仕様として盛り込むには機能が不十分。
例えばローレル指数を計算する関数の事前表明は身長体重が正であること。
事後表明はローレル指数が正しく計算されていること???って意味不明。