Java 例外処理の図例

零下一度
零下一度オリジナル
2017-07-23 10:34:141290ブラウズ

Java 例外処理

例外はプログラム内の一部のエラーですが、すべてのエラーが例外であるわけではなく、エラーを回避できる場合もあります。

たとえば、コードにセミコロンがない場合、その実行結果はエラー java.lang.Error になります。System.out.println(11/0) を使用している場合は、0 を使用しているためです。除数がない場合、java.lang.ArithmeticException 例外がスローされます。

例外の理由は数多くありますが、通常は次のカテゴリが含まれます:

ユーザーが違法なデータを入力した。

開こうとしているファイルは存在しません。

ネットワーク通信中に接続が中断されたか、JVMのメモリがオーバーフローしました。

これらの例外の一部はユーザー エラーによって発生し、一部はプログラム エラーによって発生し、その他は物理的エラーによって発生します。 -

Java 例外処理がどのように機能するかを理解するには、次の 3 種類の例外をマスターする必要があります:

チェック例外: 最も代表的なチェック例外は、プログラマーの予期せぬユーザー エラーや問題によって引き起こされる例外です。たとえば、存在しないファイルを開こうとすると、コンパイル時にこれらの例外を単純に無視することはできません。

実行時例外: 実行時例外は、プログラマが回避できる例外です。チェック例外とは対照的に、実行時例外はコンパイル時に無視できます。

エラー: エラーは例外ではなく、プログラマの制御を超えた問題です。コードではエラーが無視されることがよくあります。たとえば、スタックがオーバーフローすると、コンパイル時に確認できないエラーが発生します。

1. 継承関係

2.エラー

プログラムの実行中に処理できないエラーが発生すると、JVM は実行を終了します。

3.例外

例外は、プログラムがコンパイルされて実行されるときに発生するエラーであり、適切に処理されれば、JVM はプログラマにそれを処理するように指示します。これはエラーとは異なり、一度エラーが発生すると処理できず、プログラムは直ちに終了します。

は、

    ランタイム例外: 実行時に発生する、RuntimeExceptionクラスとサブクラスの2種類に分けられます。コンパイル中に処理は必要なく、実行フェーズ中に処理が行われます。
  • 一般的なものには、NullPointerExceptionStringIndexOutOfBounds ClassCastException ArrayIndexOutOfBounds が含まれます。

  • コンパイル時例外 (チェック例外): コードを記述するときに処理する必要がある例外です。処理されない場合、コンパイルは通過しません。コンパイル時例外はコードのコンパイル段階で処理されるため、たとえ例外が発生しても、プログラムの通常の動作に影響を与えない可能性があります。たとえば、Spring コンパイル時例外など、一部のシステムではコンパイル時例外が通常の状況として扱われます。例外が発生した場合はデフォルトで実行されます。プログラム内で明示的に例外をスローすることは、コンパイル段階で処理する必要がある例外と同等であり、コンパイル時例外です。一般的なものには、ClassNotFoundException FileNotFounException
  • ParseExceptionSQLExceptionIOException などがあります。 2 つの例外を分け​​る基準は、実際の発生確率です。JVM は、発生確率が高い例外をチェック例外として扱い、コードを記述するときにプログラマがそれらを処理する必要があります。発生する可能性が高い例外。プログラマが対処する必要はありません。 4.try...catch...finally...

は、メソッド内で例外をキャッチして処理するために使用されます。

try の後に例外を引き起こす可能性のある文ブロックを置きます。例外が発生すると、try 文ブロックは実行を停止し、catch 文ブロックが実行された後、実行します。 catch ステートメントのコードの後に​​続きます。

  • finally ステートメント ブロックは、例外が発生するかどうかに関係なく実行され、通常はリソースを閉じるコードがその中に配置されます。

  • 5. カスタム例外

  • プログラムの実行状況を詳細に反映するために、Exception を継承し、指定された条件下で例外「throw MyException(xxxx)」をスローします。

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

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