『Exceptions を扱うたった一つの冴えたやりかた』

by tanabe on January 08, 2009

...的な釣りタイトルが付けられた Michael Feathers の "Abstracting Away From Exceptions" がおもしろかった。

コメント欄も盛り上がっているし、reddit の方にも本人が出張してコメントつけている

元エントリは「Exceptions をうまくあしらうパターン見つけた気がすんだけど、どうよ?」的な内容。そこに「いやいや、そもそも例外は・・・」みたいな指摘なんかも挙がっていて楽しい。コメントまで含めて読んで、初めてバランスがよくなってる。Aaron Powell の Should you catch System.Exception? も。

exceptions とか validation とか error handling とか各箇所に工夫なく書かれると可読性が落ちるのは間違いないので、エンジンやフレームワークのようなレベルでうまいことまとめられるとうれしいんだけどな。あとはその場合もアプリケーションの仕様なのかそれともシステムの実装上の都合なのかという切り分けと、その見せ方というのはポイントだな。

エラーにしろ例外にしろけっきょく画面なりログなりで外部とのインタフェースに対して働きかけをしないといけないので、そこは状態遷移と画面遷移の話でもある。業務系ならそうなった場合の仕事というのがあるのだろうから、ワークフローなのか。あ、話が散ってしまった。本筋の流れと枝の流れは別物として管理できるとうれしいよね、という意味では賛成ということが言いたかった。

ポインタが挙がっていた Alessandro Warth and Alan Kay の Worlds: Controlling the Scope of Side Effects は読んだことないので読んでおこう。

最後に J 言語はちょっと見てみたけど、お友達になれなさそうな気がした。