English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、Javaの例外を学びます。Javaのエラー、例外、異なるタイプの例外について紹介します。
例外はプログラムの実行中に発生する予期せぬイベントです。これにより、プログラムの命令の流れが影響を受け、プログラムが異常終了します。
例外が発生する原因は様々です。その中には以下のようなものがあります:
無効なユーザー入力
デバイスの故障
ネットワーク接続が切れる
物理的な制限(ディスクメモリ不足)
コードエラー
利用できないファイルを開く
これはJavaの例外階層構造の簡略図です。
上の図から見ると、Throwableクラスは階層構造の根クラスです。
注:階層構造は2つの枝に分かれています:エラー(Error)と例外(Exception)。
Error不可復の状況を表します。例えば、Java仮想機(JVM)のメモリ不足、メモリリーク、スタックオーバーフローエラー、ライブラリの互換性がない、無限ループなどです。
エラーはプログラマーがコントロールできないことが多いです。エラーは処理を試みるべきではありません。
プログラムは例外をキャッチし、処理できます例外。
メソッド内で例外が発生した場合、オブジェクトが作成されます。このオブジェクトは例外オブジェクトと呼ばれます。
例外に関する情報を含んでいます。例えば、例外の名前や説明、例外が発生した時のプログラムの状態などです。
次のチュートリアルでは、これらの例外の処理方法を学びます。このチュートリアルでは、まずJavaの異なるタイプの例外に焦点を当てます。
例外の階層構造には2つの枝があります:RuntimeExceptionとIOException。
1実行時例外プログラミングエラーによる発生です。これらはまた非チェック例外。
これらの例外はコンパイル時にチェックされず、実行時にチェックされます。一般的な実行時例外は以下の通りです:
APIの使用が不適切です - IllegalArgumentException
空のポインタアクセス(変数の初期化が不足している)- NullPointerException
範囲外の配列アクセス - ArrayIndexOutOfBoundsException
数字を0で割る - ArithmeticException
あなたはこんな感じで考えてみてください:これがランタイム例外の場合、それはあなたのせいです。
変数が初期化されているかを確認する前に変数を使用する場合、NullPointerExceptionは発生しません
配列の境界を基に配列インデックスをテストする場合、ArrayIndexOutOfBoundsExceptionは発生しません
IOExceptionもチェック例外。
チェック例外の例として:
存在しないファイルを開こうとすると、FileNotFoundExceptionが発生します
ファイルの終わりを超えた内容を読み込もうとすると、EOFExceptionが発生します
現在、例外について学びましたので、次のチュートリアルで学びます例外処理。