例外処理
例外オブジェクト
Java の例外オブジェクトは全て、java.lang.Throwable から派生します。
Error、Exception 等です。
try-catch-finally ブロック
例外処理の形式は次のとおりです。
try {
// try ブロック
} catch (例外型1 e) {
// 例外処理
} catch (例外型2 e) {
...
} finally {
// 常に実行される
}
例外の種類
Java の例外は大きな分類として以下の3種類の例外があります。
| 例外のタイプ | 説明 | スーパークラス | 処理 必須? |
非チェック例外 (unchecked exception) |
実行時例外 (runtime exception) |
null の参照や配列のインデックス外アクセスなど、プログラムの不具合に起因する例外。
キャッチする(キャッチしてかき消す?)こともできることはできますが、本来は不具合のほうを直すべきものです。
|
RuntimeException |
任意 |
エラー (error) |
アプリケーション外部の要因によるシステムエラー (ハードウェアの故障などが原因等) |
Error |
任意 |
チェック例外 (checked exception) |
上記二種類以外の例外。存在しないファイルを読み込もうとした場合の、
java.io.FileNotFoundException 等、通常は正常復帰可能のもの。
| 上記以外、 Exception 全般 |
必須 |
|