6

Javaでプログラミングしている間、プログラマーとしての私がRuntimeExceptionsをキャッチすることを検討する必要があるときはいつでもありますか?

4

5 に答える 5

8

例外をキャッチするのと同じ理由でRuntimeExceptionをキャッチします。それを使って何かをする予定です。おそらく、例外の原因を修正することができます。おそらく、単に別の例外タイプで再スローしたいだけです。

ただし、例外をキャッチして無視することは非常に悪い習慣です。

于 2012-07-16T14:56:59.143 に答える
2

これが私が考えることができることです。

  1. 何か問題が発生した場合にエンドユーザーに適切なメッセージを表示したい場合は、RuntimeExceptionをキャッチしてログに記録します。次に、ブラストエラーの代わりに画面にいくつかの素敵なメッセージを表示します。
  2. フレームワーク固有のCheckedExceptionsをアプリケーション固有のRuntimeExceptionsにラップするには、ここで説明するように、 RuntimeExceptionをカスタム例外として使用することをお勧めします
于 2012-07-16T14:59:40.850 に答える
0

ユーザーの検証に基づいて、ユーザーにカスタムメッセージを表示する場合は、に進みRuntimeExceptionます。

カスタムメッセージをラップしてからスローします。

throw new RuntimeException("Invalid userName/Password !");
于 2012-07-16T15:01:54.237 に答える
0

基本的に、1つをキャッチしたいのは、アプリケーションを爆破させることができない場合だけです。これはこれをより詳細に説明する良い記事ですが、これはそれを要約した引用です:

"If a client can reasonably be expected to recover from an exception, make it a 
checked exception. If a client cannot do anything to recover from the exception,
make it an unchecked exception".  

未チェックの例外は基本的にコードの単なるバグであり、実際にはそれらについて何もできない場合にのみスローする必要があるため、例外をキャッチしたいのは、アプリケーションを爆破できない場合だけです。

于 2012-07-16T15:16:07.927 に答える
-1

はい:あなたがそれらから回復することができて、望むときはいつでも。

多くの一般的な例外は継承されRuntimeException、それぞれが特定の状況に応じて回復できる場合とできない場合があります。クラス自体は、RuntimeException例外をキャッチする必要がある、またはキャッチしてはならないことを意味するものではありません。

たとえば、IllegalArgumentException特定の入力をスローするライブラリメソッドがあるとします。プログラムに該当する場合は、この例外をキャッチして、別の入力を試行したり、操作を続行できない理由をユーザーに説明したりするなど、何らかの方法で回復できます。

于 2012-07-16T15:01:32.720 に答える