Error、チェック例外(Exception)、非チェック例外(RuntimeException)の扱い
チェック例外、非チェック例外
- java.lang.Throwable
RuntimeExceptionを継承しないものを「チェック例外」、RuntimeExceptionを継承するものを「非チェック例外」という。
「チェック例外」はtry-catchやthrowsが必要なもので、「非チェック例外」はtry-catchやthrowsが不要なものである。
Error、RuntimeException、Exceptionの使い分け
- Error
- 呼び出される側の処理でバグが発生したことを知らせるもの
- 呼び出されたクラス、メソッド内部で発生したバグであり、呼び出す側からはハンドリング不可能
- RuntimeException(非チェック例外)
- 呼び出す側でバグが発生したことを知らせるもの
- クラス、メソッドを呼び出す側での使い方が仕様にあっていない
- Exception(チェック例外)
- バグを通知するものではない
- 所謂業務例外、呼び出す側でハンドリング可能なもの
参考:
http://msugai.fc2web.com/java/throwstry.html
http://www.tohoho-web.com/java/exception.htm
http://d.hatena.ne.jp/daisuke-m/20081202/1228221927