ホームページ  >  記事  >  Java  >  Javaの例外と例外処理について解説(画像と文章)

Javaの例外と例外処理について解説(画像と文章)

不言
不言オリジナル
2018-09-18 17:13:481745ブラウズ

この記事は、Java の例外と例外処理についての説明 (写真とテキスト) を提供します。必要な方は参考にしていただければ幸いです。

はじめに

  1. 概要: 例外は、Java プログラムの実行中に発生するエラーです。

  2. 例外が発生したときにそれを処理する方法は? Java には、例外処理メカニズムという解決策が用意されています。

  3. Java の例外は、関数内のステートメントが実行されるときに発生することも、プログラマが throw ステートメントを通じて手動でスローすることもできます。

  4. Java プログラムで例外が発生する限り、対応するタイプの例外オブジェクトが例外をカプセル化するために使用され、JRE は例外を処理する例外ハンドラーを見つけようとします。例外。

  5. JDK にはいくつかの一般的な例外クラスが組み込まれており、例外をカスタマイズすることもできます。

  6. Throwable クラスは、Java 例外タイプの最上位の親クラスです。オブジェクトが Throwable クラスの直接または間接的なインスタンスである場合にのみ、例外オブジェクトになります。例外処理メカニズムによって認識されます。

#例外分類

チェック例外:

(1) 最も代表的なチェック例外は、ユーザーのエラーや問題によって引き起こされる例外です。プログラマーには予測できないことです。

(2) たとえば、存在しないファイルを開こうとした場合、コンパイル中にこれらの例外が発生します。

実行時例外:

(1) 実行時例外は、プログラマが回避できる例外です。

(2) チェック例外とは対照的に、実行時例外はコンパイル時に無視できます。

エラー:

(1) このエラーは例外ではなく、プログラマが制御できない問題です。

(2) 通常、コード内のエラーは無視されます。
(3) 例えばスタックがオーバーフローするとエラーが発生し、コンパイル時に確認することができません。

例外分類図:

Javaの例外と例外処理について解説(画像と文章)

エラーおよび例外クラス

Java 標準ライブラリが構築されています。いくつかの一般的な例外では、これらのクラスは最上位の親クラスとして Throwable を持ちます。

Throwable は、Error クラスと Exception クラスを派生します。

Error クラス:

(1) Error クラスとそのサブクラスのインスタンスは、JVM 自体のエラーを表します。

(2) エラーはプログラマがコードを通じて処理することはできず、エラーが発生することはほとんどありません。
(3) したがって、プログラマは、Exception が親クラスであるブランチ下のさまざまな例外クラスに注意を払う必要があります。

Exception クラス:

(1) Exception とそのサブクラスはさまざまな例外を表します。プログラムの実行中に送信される予期しないイベント。

(2) は Java 例外処理メカニズムで使用でき、例外処理の中核です。

例外処理

例外処理メカニズムを使用すると、例外が発生したときに、コードによって事前に設定された例外処理ロジックに従って、プログラムが対象を絞った方法で例外を処理できるため、プログラムは元の状態に戻ることができます。可能な限り通常通りに実行し、実行を継続し、コードを明確に保ちます。

Java における例外処理のタスクは、例外が発生した場所から、この例外を処理できる場所に実行制御フローを転送することです。

例外を処理するコードを作成する場合、チェック例外を処理するには 2 つの方法があります。

(1) try...catch...finally ステートメント ブロック処理を使用する

(2)関数シグネチャ内の throws ステートメントを使用して、関数の呼び出し元にそれを渡し、

try...catch...finally ステートメント ブロックを解決します。 (1) try 例外を引き起こす可能性のあるコードをブロック内に配置します。 (2) try が実行され、例外が発生しなかった場合は、finally ブロックのコードと、finally の後のコードを実行します。 try のコードの実行中に例外が発生すると、catch ブロックとの一致が試行されます。 (4) 各 catch ブロックは例外の処理に使用されます。

(5) 例外の一致は上から下の順序で検索されます。 catch ブロックのうち、最初のものだけが実行されます。 一致した catch ブロックが実行されます。

(6) try ブロックのローカル変数、catch ブロックのローカル変数、finally のローカル変数は相互に共有できません。
(7)finally ブロックで例外が発生したかどうかに関係なく、対応する限り、try ブロックが実行されると必ず実行されます。
(8)finally ブロックは通常、リソースの解放操作、ファイルのクローズ、データベースのクローズなどに使用されます。


throws/throw:

(1) メソッドがチェック例外をキャッチしない場合、メソッドは throws キーワードを使用して宣言する必要があります。

(2) throws キーワードはメソッド シグネチャの最後に配置されます。 (3) throws は、関数内で発生する可能性のある例外を呼び出し元に宣言するだけで、例外自体は処理しません。 (4) この種の例外処理を使用する理由は、メソッド自体がこの例外を処理する方法を知らないか、呼び出し元が例外を処理する方が適切であり、呼び出し元が以下の責任を負う必要があるためである可能性があります。発生する可能性のある例外。

(5) throw キーワードを使用して、例外が新しくインスタンス化されたか、単にキャッチされたかに関係なく、手動で例外をスローすることもできます。

(6) throw ステートメントの後には例外オブジェクトが続く必要があります。

以上がJavaの例外と例外処理について解説(画像と文章)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。