1. ホーム
  2. java

[解決済み] ErrorsとExceptionsの違いは何ですか?[重複あり]

2022-04-14 03:05:11

質問

<ブロッククオート

重複の可能性があります。

ExceptionとErrorの違いについて

Javaでエラーと例外を区別するにはどうしたらいいですか?

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

<ブロッククオート

エラーは深刻な問題を示します。 合理的なアプリケーションは をキャッチしようとしない。

間に

例外とは 合理的なアプリケーションでは をキャッチする必要があります。

と共にエラー RuntimeException そのサブクラスは unchecked 例外が発生します。他のすべてのExceptionクラスは checked の例外となります。

確認済み 例外は一般に、プログラムが回復できるものです。例としては、以下のようなものがあります。 FileNotFoundException , ParseException などがあります。プログラマは、try-catchブロックを使ってこれらの例外をチェックするか、呼び出し元にスローバックすることが期待されています。

一方 アンチェック 例外が発生します。これらは、すべてがきちんと整っていれば起こらないかもしれないけれども、起こってしまう例外のことです。例としては以下のようなものがあります。 ArrayIndexOutOfBoundException , ClassCastException など。多くのアプリケーションでは try-catch または throws の節は RuntimeExceptions & そのサブクラスがありますが、言語の観点からは、そうする必要はありません。からの回復に注意してください。 RuntimeException は一般的に可能ですが、このクラス/例外を設計した人は、エンドプログラマがそのような例外をチェックする必要はないと判断しました。

エラー もまた、チェックされていない例外 & です。プログラマはこれらに対して何もする必要はありません。実際、このような例外に対して try-catch 節を使用します。ほとんどの場合、Errorからの復旧は不可能であり、プログラムは終了させるべきである。例としては OutOfMemoryError , StackOverflowError など。

なお、エラーはチェックされていない例外なので、対処しようとは思わない方がいいですが RuntimeExceptions (同じく未チェックの例外)をコードで表現します。チェックされた例外は、コードで処理する必要があります。