今、りすと亭のソースを直しながら、ふと手が止まる問題に出会いました。メッセージスレッドが見つからないとき、ソース上ではArgumentOutOfRangeExceptionをキャッチするものとして書いていまし。しかし、実際にはFileNotFoundExceptionが投げられていました。このバグを単純に修正するには、ArgumentOutOfRangeExceptionをFileNotFoundExceptionに書き直せば良いわけですが。はたして、それで良いのでしょうか? メッセージスレッドが見つからない、という意図をFileNotFoundExceptionは表現していると言えるでしょうか?
もし、メッセージスレッドとファイルが1対1の対応を取っていない実装に変わったとき、この例外ではとても困ったことになります。
かといって、ArgumentOutOfRangeExceptionで良いのかというと、これも悩み所です。
それを考え始めると、手が止まってしまったのです。
しかし、こんなことで時間を使うのは無駄です。
そこで、はたと思いました。熱血プログラミング主義なら、どう解決すべきだろうかと。
結論は簡単です。
他の例外ではすっきり当てはまらないなら、手間を惜しまず新しい例外を熱く作れ!
というわけで、今日の解答は、MessageThreadNotFoundExceptionでした。