Javaでよく見られる異常タイプと原因分析(下)
2205 ワード
ここでは、いくつかの一般的な異常を紹介し、原因を分析します. ArrayIndexOutOfBoundsException異常; UnsupportedClassVersionErrorエラー; NumberFormatException異常; スタックオーバーフローとメモリオーバーフロー.
3.ArrayIndexOutOfBoundsException異常
これは非常に一般的な異常で、名前から見ると配列の下付きスケーリングエラーです.解決策は、下付きスケーリングの理由を表示することです.次はエラーの例です.
これらのヒント情報から,1)エラーが93行2)で発生した場合,下付き文字の値が2であること,次に下付き文字の値が2でない理由を分析して問題を解決する.
4. UnsupportedClassVersionError
エラーメッセージは次のとおりです.
エラーの原因:JavaのコンパイルとJavaの実行で使用されるJavaのバージョンが一致しません.たとえば,コンパイル時に使用するJavaバージョンは6,実行時に使用するJavaバージョンは5である.ソリューション:実行環境のJavaバージョンを変更するか、コンパイル環境のJavaバージョンを変更して、両者が一致するようにします.
5.Number FormatException異常
数値変換異常は、数値を表す文字列を数値タイプに変換すると、パラメータである文字列が数値で構成されていないため、この異常を報告する可能性があります.
6.スタックオーバーフローとメモリオーバーフロー
再帰呼び出し時にスタックオーバーフローが発生する可能性があります.再帰呼び出し時に呼び出しの状態を保存する必要があるため、再帰の深さがある程度に達するとスタックオーバーフローの異常が発生します.仮想マシンのメモリが小さく、プログラムのメモリ要件が高い場合は、メモリオーバーフローエラーが発生する可能性があります.
よくある例外クラス
異常
説明
RuntimeException
Java.langパケット内の多数の異常のベースクラス
ArithmeticException
0で割るなどの算術エラー
IllegalArgumentException
メソッド不正なパラメータの受信
SecurityException
セキュリティ違反を試みる
ClassNotFoundException
要求されたクラスをロードできません
AWTException
AWTの例外
IOException
I/O異常のルートクラス
FileNotFoundException
ファイルが見つかりません
EOFException
ファイルの終了
3.ArrayIndexOutOfBoundsException異常
これは非常に一般的な異常で、名前から見ると配列の下付きスケーリングエラーです.解決策は、下付きスケーリングの理由を表示することです.次はエラーの例です.
Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException:2
at test4.State.nextStates(State.java93)
at test4.State.main(State.java:478)
これらのヒント情報から,1)エラーが93行2)で発生した場合,下付き文字の値が2であること,次に下付き文字の値が2でない理由を分析して問題を解決する.
4. UnsupportedClassVersionError
エラーメッセージは次のとおりです.
java.lang.UnsupportedClassVersionError:Bad version number in.class file
エラーの原因:JavaのコンパイルとJavaの実行で使用されるJavaのバージョンが一致しません.たとえば,コンパイル時に使用するJavaバージョンは6,実行時に使用するJavaバージョンは5である.ソリューション:実行環境のJavaバージョンを変更するか、コンパイル環境のJavaバージョンを変更して、両者が一致するようにします.
5.Number FormatException異常
数値変換異常は、数値を表す文字列を数値タイプに変換すると、パラメータである文字列が数値で構成されていないため、この異常を報告する可能性があります.
6.スタックオーバーフローとメモリオーバーフロー
再帰呼び出し時にスタックオーバーフローが発生する可能性があります.再帰呼び出し時に呼び出しの状態を保存する必要があるため、再帰の深さがある程度に達するとスタックオーバーフローの異常が発生します.仮想マシンのメモリが小さく、プログラムのメモリ要件が高い場合は、メモリオーバーフローエラーが発生する可能性があります.
よくある例外クラス
異常
説明
RuntimeException
Java.langパケット内の多数の異常のベースクラス
ArithmeticException
0で割るなどの算術エラー
IllegalArgumentException
メソッド不正なパラメータの受信
SecurityException
セキュリティ違反を試みる
ClassNotFoundException
要求されたクラスをロードできません
AWTException
AWTの例外
IOException
I/O異常のルートクラス
FileNotFoundException
ファイルが見つかりません
EOFException
ファイルの終了