>>200のような例はいろいろな論文や書籍で見かけるけど、誤解を招きやすいよな。
「ファイルなんて誰かが消してるかもしれないし、ないかもしれないだろう?だから、それは例外じゃないんだ」っていう言い回しは
「例外」という単語を「想定外」という意味で捕らえすぎている日本人には誤解されやすい。
「ああ、じゃあエラーはエラーでも、はじめから起こり得ると分かっているエラーなら例外は使うべきじゃないんだな」
なんてトンチンカンな論理に繋がっちまう人が多すぎ。(うちの社内研修でも)

どんなエラーだってプログラマが想定した上でエラーコードなり例外をスローするわけで、
本当にプログラマの想定外のエラーなら、例外すら投げられずプログラムが強制終了するだけ。

起こりうるかどうか、ではなくて、「プログラムの実行に支障を来すエラーなのかどうか」で区別すべきなんだが…
そういうのをうまく説明する方法はないものなのか。