はじめに Javaを学び始めると、例外処理は早い段階でつまずきやすいテーマのひとつです。 「とりあえず try-catch で囲めばいい」「throws Exception と書けばコンパイルが通る」という理解のまま進んでしまうと、バグの原因に気づきにくいコードになってしまうことがあります。 この記事では、例外処理を基礎から理解したい方に向けて、なぜそう書いてはいけないのかを、検査例外・非検査例外の違い、throws の正しい使いどころ、やってはいけないアンチパターンまで、順を追って解説します。 例外の全体像 まず、Javaの例外クラスの階層を把握しましょう。 Throwable ├── Error ← JVMレベルの深刻なエラー(基本的に対処不可) │ ├── OutOfMemoryError │ └── StackOverflowError │ └── Exception ← プログラ

