1

try/catchクリティカルなメソッド以外のブロックにメソッドを入れるのが良いのはいつですか?

たとえば、Pattern.compile()メソッドがあり、例外IllegalArgumentExceptionPatternSyntaxException. try/catchこのメソッドをブロックに入れる必要がありますか? try/catchメソッドが失敗することがわかっている場合は、 a を使用する必要があることはわかっています。ただし、このシナリオでは atry/catch blockを使用する必要がありますよね? try/catch各メソッドは失敗すると例外をスローするため、a を使用するかどうかをどのように決定するのでしょうか? コンパイラは、特定のメソッドに対して a を使用するように促すことがありますtry/catchが、特定のメソッドについては自分で決定する必要があります。これを決定するのに役立つ要因は何ですか?

4

2 に答える 2

3

try catch例外で何をすべきかを知っている場所に配置します。

たとえば、コンソールからデータを読み取り、I/O と同じ方法でいくつかの算術演算を実行しています。その場合、メソッドは例外を制御し、ユーザーにエラーを通知し、さらにデータを要求する (または同じデータを修正する) 必要があります。

別の状況では、同じ操作を実行するメソッドをプログラムします。ある時点で、あなたの表現の 1 つが他の表現によって分割されます。0 で除算する場合はどうすればよいですか? ほとんどの場合、例外を伝播させます。呼び出し元のメソッドは (あるレベルで)、失敗がプログラムのクラッシュを意味するかどうか、操作を実行できないが他の操作は実行できるかどうか、またはデータを無視する必要があるかどうかを認識します。

于 2013-01-13T23:46:17.697 に答える
2

簡単に説明しましょう。

常に try と catch を使用する必要はありません。エラーが原因でプログラムを終了させる可能性のあるプロセスがある場合は、try と catch を使用してください。たとえば、ファイルの読み取りと書き込み。これ以外に、あなたはただ使うことができますifs

于 2013-01-13T23:52:00.580 に答える