まあ、Exception
は、Javaの問題を通知する方法です。任意のanyを使用して問題を表示することはできますが、問題を理解するのに役立つ例外を使用するとよい方法です。
Exception
のいずれもException
としてください。Exception
があります。常にException
を投げるのはなぜですか? NumberFormatException
またはNullPointerException
を受け取ることは、貧しい開発者にとって意味があるため、基本的なException
です。
だから、TimeoutException
とHttpTimeoutException
を見てみましょう。 HttpTimeoutException
はIOException
を拡張し、TimeoutException
は基本Exception
を拡張することを、私たちが見ることができる
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.util.concurrent.TimeoutException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
java.net.http.HttpTimeoutException
まず違いは、事実です。それは私たちに何を教えてくれるの?
httpクライアントまたはサーバーがI(nput)O(utput)の問題で応答時間が長すぎる場合は、HttpTimeOutException
を使用する必要があります。
問題が計算に長時間かかる場合は、http接続の場合ではなく、TimeoutException
を使用する必要があります。個人的には、たとえキーボードであってもI(nput)O(utput)が長すぎるために使用しません。私は自分のException
を宣言してIOException
に広げ、それをIOTimeoutException
と呼び、それを将来の読者のために明確にするために使用します。
うまくいけば助けてください。コメントでさらにお気軽にお問い合わせください - 私は必要に応じて私の答えを更新します。
HttpTimeoutExceptionは、一般的なTimeoutExceptionのサブクラスです。より一般的なTimeoutExceptionのハンドラーでHttpTimeoutExceptionを捕捉することができます。ただし、コードの明快さのためにTimeoutExceptionハンドラを使用するよりも、より具体的なhttp例外を使用することをお勧めします – K3v1n