2003年06月22日
川俣晶の縁側ソフトウェア技術雑記 total 2715 count

どんな例外を投げればよいか悩んだときの熱血プログラミング的解答

Written By: 川俣 晶連絡先

 今、りすと亭のソースを直しながら、ふと手が止まる問題に出会いました。メッセージスレッドが見つからないとき、ソース上ではArgumentOutOfRangeExceptionをキャッチするものとして書いていまし。しかし、実際にはFileNotFoundExceptionが投げられていました。このバグを単純に修正するには、ArgumentOutOfRangeExceptionをFileNotFoundExceptionに書き直せば良いわけですが。はたして、それで良いのでしょうか? メッセージスレッドが見つからない、という意図をFileNotFoundExceptionは表現していると言えるでしょうか?

 もし、メッセージスレッドとファイルが1対1の対応を取っていない実装に変わったとき、この例外ではとても困ったことになります。

 かといって、ArgumentOutOfRangeExceptionで良いのかというと、これも悩み所です。

 それを考え始めると、手が止まってしまったのです。

 しかし、こんなことで時間を使うのは無駄です。

 そこで、はたと思いました。熱血プログラミング主義なら、どう解決すべきだろうかと。

 結論は簡単です。

 他の例外ではすっきり当てはまらないなら、手間を惜しまず新しい例外を熱く作れ!

 というわけで、今日の解答は、MessageThreadNotFoundExceptionでした。