Javaでよくあるランタイム例外には、どのようなものがありますか?
Javaでよく発生するランタイム例外には、以下のようなものがあります。
- NullPointerException(ヌルポインタ例外):プログラムがnullオブジェクトのプロパティにアクセスしようとしたり、nullオブジェクトのメソッドを呼び出そうとした場合にスローされる例外
- プログラムが配列に無いインデックスにアクセスしようとした場合にスローされます。
- クラスキャスト例外: オブジェクトをそのサブクラスではない型に無理やり変換しようとした際にスローされる例外
- 算術演算中に間違いが発生すると発生する例外(例:0で除算)。
- IllegalArgumentException(不正な引数例外):メソッドが不正な引数を受け取ったときにスローされます。
- 数値に変換しようとした文字列の形式が正しくない場合に送出されます。
- UnsupportedOperationException(処理できない操作例外):サポートされてないメソッドまたは操作が呼び出されたときにスローされる例外
- 配列やListなどから要素を取り出そうとした際、要素を格納していないインデックスを指定した場合にスローされます。
- 競合修正例外:複数のスレッドが同じ対象に対して修正操作を行ったときに発生する可能性のある例外。
- 仮想マシンの制限以上のメモリをプログラムが要求すると、OutOfMemoryError(メモリあふれエラー)が発生します。
RuntimeExceptionクラスまたはそのサブクラスのインスタンスである例外であり、チェックされない例外です。明示的なキャッチや宣言は必要ありません。