fetus Diary

2007/08/09(木) - try-catch

なんかエレガントに書けない…。

「俺はここの関数を呼ぶときにだけ catch したいんだー」という時に何か複雑になりがち。その呼び出しを含む関数全体を try ブロックに押し込めるのは間違ってるし。

まあ、例外処理というのがそれこそ例外だから安易に書けないとか違和感がある程度で良いのかもしれんけど。

# 事細かに関数を分割して数行の関数にしてそれ全体を囲ってしまうというのはアリかもしれない。場合によっては。

あと、finally 星井美希 欲しい。

# C++ 的にはオブジェクト作ってデストラクタでやれってことなんだろうけど。

でも finally 使うと、try-finaly と try-throw-catch-finally (場合によってはさらに re-throw)と try-throw-finally に分岐するから処理の流れが見づらくなるのか…(デストラクタなら「スタックに積んであるオブジェクトは『上手く後始末してくれる』」でよい(直感的)ので実際の分岐とは違う)。

根本的問題は、if や for、while、do-while なんかの制御構文と同じようにブロックをとらえてしまう私の頭なんだろうなぁ…。

コメント

コメントはありません。

名前
メール
コメント

※HTML タグは使えません。HTTP URL には自動リンクが張られます。

Captcha
画像から読み取れる文字を入力: