Java ランタイム例外の原因
Javaランタイム例外が発生する原因には、以下のようなものがあります(ただし、これらに限定されません)。
- nullになってるオブジェクトが利用された時に発生する例外
- 配列のインデックスの範囲外例外(ArrayIndexOutOfBoundsException):配列にアクセスする際に配列の長さより大きいインデックスや負のインデックスを使用するとスローされます。
- 互換性のない型に変換しようとすると発生する例外です。
- 数値フォーマット例外(NumberFormatException):文字列を数値型に変換しようとしたが、文字列のフォーマットが正しくなかった場合にスローされます。
- ゼロ除算などの演算時にミスがあった場合にスローされる例外
- 配列アクセス制御違反例外(ArrayStoreException):オブジェクト配列に誤った型のオブジェクトを格納しようとした場合にスローされる例外。
- ファイル操作例外(IOException):ファイル操作の際にファイルが見つからない、ファイルへの読み書きができない、などのエラーが発生したときに投げられる例外です。
- クラスが見つかりませんでした(ClassNotFoundException):存在しないクラスの読み込みを試みるとスローされます。
- 指定されたクラスやオブジェクトに指定されたメソッドが存在しない場合に発生する例外
- スレッドがブロックされたり、サスペンドされたり、待機したりする状態で割り込まれた場合にスローされる例外です。
処理されずにプログラムでこれらの例外が発生した場合、プログラムは実行を停止して例外情報をスローします。これは、Java ランタイムでよく見られる例外です。