🍣

【kotlin】ErrorクラスとExceptionクラスの違い

2023/08/11に公開

Kotlinにおいて「Error」と「Exception」は、プログラムの異常な状態を表現するためのクラスであるが、その用途と性質に違いがある。

  • Throwableクラスがこれらのクラスの親クラス。
  • ExceptionErrorThrowableを継承しているが、それぞれ異なる目的で使用される。

Exception

  • 一般的にプログラムの実行中に起こり得る予期せぬ状態を表現する。
  • 通常、開発者が処理を行うべきものであり、try-catchブロックで捕捉して適切に処理することが期待される。

Error

  • システムの重大な問題を表現するために用いられる。
  • 通常、アプリケーションレベルでは回復が困難な状態を示し、開発者が通常の処理で捕捉することは稀である。

例えば

  • ファイルが見つからない場合など、プログラムの正常な実行を妨げるが回復可能なエラーはExceptionとして扱う。
  • 一方で、仮想マシンのエラーなど、アプリケーションが処理できないような重大な問題はErrorとして扱う。

Discussion