Javaでは、すべての例外には共通の祖先があり、投げ可能(投げ可能)があります。 Throwableは、例外伝播メカニズムによってコード内のJavaアプリケーションを介して送信できる問題の共通性を指定します。
Throwableには、例外とエラーという2つの重要なサブクラスがあります。どちらもJava例外処理のための重要なサブクラスであり、それぞれに多数のサブクラスが含まれています。
Exceptionは、アプリケーションで予測可能で回復可能な問題です。一般に、ほとんどの異常は中程度から軽度の問題を示しています。例外は通常、特定の環境で生成され、通常、コードの特定の方法と操作で発生します。 Echoinputクラスでは、ReadLineメソッドを呼び出そうとするときにIOExceptionが発生する場合があります。
例外クラスには、重要なサブクラス、RuntimeExceptionがあります。 RuntimeExceptionクラスとそのサブクラスは、「一般的なJVM操作」によって提起されたエラーを表します。たとえば、nullオブジェクト参照、ゼロ除数、または境界のない配列を使用しようとする場合、ランタイム例外(nullpointerexception、arithmeticexception)およびarrayindexoutofboundexceptionがそれぞれ上昇します。
②エラーは、アプリケーションを実行する際の深刻な問題を示しています。ほとんどのエラーは、コードライターが実行するアクションに関連していませんが、コードの実行時のJVM(Java仮想マシン)の問題を表します。たとえば、JVMが操作を継続するために必要なメモリリソースがなくなった場合、OutOfMemoryErrorが表示されます。
例外をチェックすることと、例外をチェックしないことの間の分割
Javaの例外は、2つのカテゴリに分かれています。
1.チェックされた例外(非償還例外)
2.分解された例外(ランタイム例外)
ランタイム例外
RuntimeExceptionクラスは、例外クラスのサブクラスです。これは、ランタイム例外と呼ばれます。 Javaのすべてのランタイム例外は、RuntimeExceptionクラスから直接または間接的に継承されます。
例外から継承するが、runtimeexceptionからではないJavaの例外は、非runtimeの例外です。
試してみると、複数のキャッチが続くことができますが、何人であっても、せいぜい1つのキャッチブロックが実行されます。
非支払いの例外のために、それらを処理する必要があります。そうしないと、コンパイルすることはできません。
対処するには2つの方法があります。
1。キャプチャにtry..catch..を使用してキャプチャします。
2。例外を生成するメソッド宣言の後にスロー例外タイプを書き込み、例外など、外部層の例外をスローします。
ランタイムの例外の場合、それらは処理されるかどうか。ランタイムの例外を処理しないことをお勧めします。
拡張機能:エラーと例外の違い(エラー対例外)
1).java.lang.error:重大なエラーをマークするために使用されるスロー可能なサブクラス。合理的なアプリケーションは、エラーを試す/キャッチするために行かないでください。ほとんどのエラーは異常であり、まったく発生しないでください。
java.lang.exception:投げ可能なサブクラス。キャッチする合理的なプログラムを示すために使用されます。つまり、それは単なるプログラムを実行している条件であり、深刻なエラーではなく、ユーザープログラムがそれをキャッチすることをお勧めします。
2)。エラーとruntimeexception 、およびそのサブクラスは未チェックの例外ですが、他のすべての例外クラスはチェックされた例外です。
確認された例外:通常、回復可能なプログラムからスローされ、プログラムを使用してそのような例外から回復するのが最適です。たとえば、filenotfoundexception、parseexceptionなど。チェックされた例外はコンピレーション段階で発生し、try ... catch(or throws)を使用する必要があります。そうしないと、コンパイルは渡されません。
未確認の例外:通常、すべてが正常であった場合は発生してはならない例外ですが、それは起こります。それはランタイム中に発生し、主にプログラムの論理的な問題によって引き起こされる不確実性があります。たとえば、ArrayIndexOutofBoundException、ClassCastExceptionなど。言語自体の観点から、プログラムはCACTなどの例外を使用しないでください。 RuntimeExceptionなどの例外からキャッチして回復することはできますが、ターミナルプログラマーはこれを行う必要がないため、これを行うことを奨励されていません。このタイプのエラーはバグ自体であり、修正する必要があるため、そのようなエラーが発生したらすぐにプログラムを停止する必要があります。したがって、エラーと未確認の例外に直面して、プログラムは自動的に終了する必要があります。プログラマーは、Try/Catchなどを行うべきではなく、理由を見つけてコードロジックを変更する必要があります。
runtimeexception: runtimeexceptionシステムには、間違ったタイプ変換、アレイアウトバウンドアクセス、ヌルポインターにアクセスする試みなどが含まれます。
RuntimeExceptionの処理の原則は、RuntimeExceptionが発生した場合、プログラマーのエラーである必要があります。たとえば、アレイアウトバウンドアクセスの例外は、配列のサブスクリプトと配列の境界をチェックすることで回避できます。他の(IOExceptionなど)チェックされた例外は、一般に、ファイルの最後からデータを読み取ろうとするなどの外部エラーです。これは、プログラム自体のエラーではなく、アプリケーション環境で発生する外部エラーです。
上記の記事java_exceptionクラス(エラーと例外の違いの紹介)は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。