プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2021/07/11

例外はいつ使うか?

update2021/07/12 event_note2021/07/11 5:38

今までなんとなくで例外を使っていましたが、達人プログラマーという書籍に一つの考え方があったのでメモ。

以下のような記述がありました。

「すべての例外ハンドラを除去しても、このプログラムは動作可能だろうか?」と自問してください。答えが「ノー」であれば、例外ではない状況下で例外が使われているはずです。

つまり、try-catch 文をなくしても基本的に動作可能であれば良し。
そうでないならば、普通に起こりえる状況に対しても例外で処理してしまっている(例外ではない状況で例外を使ってしまっている)。

具体的な例として、ファイルオープンの際にファイルが存在しなかった場合が挙げられています。

要約すると、

  • ファイルが存在しないという状況が通常起こりえないのであれば、それは例外として処理すべき
  • ファイルが存在しないという状況が普通に起こりえるのであれば、例外ではなくエラーとして処理しておくべき

というものです。