理解不足だったので調べたことをメモ。
##メモリ管理
スタックやヒープ領域の説明がわかりやすくまとめられている。
##検査例外と非検査例外
Effective Javaに記載されている言葉を引用させてもらうと
回復可能な状態にはチェックされる例外を、プログラミングエラーには実行時例外を使用する
Javaには以下3種類の例外が存在する。
- チェックされる例外(検査例外)
- 実行時例外(非検査例外)
- エラー(非検査例外)
####検査例外を使用するケース
catch節で処理するかthrows句で外側に伝搬させることで、呼び出し側が適切に回復できるような場合。
例:IOException
####非検査例外を使用するケース
呼び出し側での回復が不可能であり、処理を継続させることが困難な場合。
例:NullPointerException, OutOfMemoryError
実行時例外はRuntime Exceptionを継承しており、エラーはErrorを継承している。