PHPでtry-catch-finallyする綺麗な書き方思いついた

これ結構いい気がする…!
finallyで後処理だけして、発生した例外を握り潰さず呼び出し元に投げる時に便利。
何もすごい事はしていないけど、割りと見やすくてなんとなくtry-catch-finallyっぽい。
見様によっては再throwを書く場所が違うだけに見えなくもない。
まぁtry内でreturnとかしてもfinallyブロックは実行されないけど。
 
早くPHPにもfinally実装されないかな。
 

<?php

try {
    // 例外をスローする可能性のある処理
    echo "try\n";
    throw new Exception("err");

} catch (Exception $e) {
    // 例外処理
    echo "catch\n";

} /* finally */ {
    // 最後に必ず実行される処理
    echo "finally\n";

    // 例外が発生していた場合は再throwする 
    if (isset($e)) throw $e;
}