1. ホーム
  2. java

[解決済み] ExceptionとErrorの違い

2022-04-21 18:09:03

質問

私は基本的なJavaとThrowablesの種類についてもっと学びたいと思っているのですが、誰かExceptionとErrorsの違いについて教えてください。

どのように解決するのですか?

エラーは捕捉したり処理したりしてはいけない(ごく稀なケースを除く)。 例外は例外処理の基本です。 その ジャバドック がよく説明しています。

<ブロッククオート

Error は Throwable のサブクラスで、重大な問題を示すものです。 合理的なアプリケーションは、キャッチしようとしないはずです。このようなエラーのほとんどは の状態です。

のサブクラスのいくつかを見てみましょう。 Error そのJavaDocのコメントをいくつか見てみましょう。

  • AnnotationFormatError - アノテーションパーサーがクラスファイルからアノテーションを読み込もうとしたときに、アノテーションが不正であると判断した場合にスローされます。
  • AssertionError - アサーションが失敗したことを示すために投げられる。
  • LinkageError - LinkageError のサブクラスは、あるクラスが他のクラスに何らかの依存性を持っていることを示しますが、 後者のクラスが前者のクラスのコンパイル後に互換性のない変更を行ったことを示します。
  • VirtualMachineError - Java仮想マシンが壊れたり、動作を継続するために必要なリソースを使い果たしたことを示すために投げられます。

には3つの重要なサブカテゴリがあります。 Throwable :

  • Error - 何か重大な問題が発生した場合、ほとんどのアプリケーションはその問題を処理しようとするのではなく、クラッシュするはずです。
  • チェックされていない例外(別名 RuntimeException のようなプログラミングエラーが発生することがよくあります。 NullPointerException または不正な引数。 アプリケーションは、この Throwable カテゴリーに分類される。少なくともスレッドの run() メソッドを実行し、苦情を記録して、実行を継続します。
  • チェックされた例外(別名:その他すべて) - アプリケーションは、以下のような残りの部分をキャッチして意味のある処理を行うことができると期待されています。 FileNotFoundExceptionTimeoutException ...