は、コードのこの作品は、20ヶ所にあり、常に同じキャッチ個別の例外をまたはinstanceofを使用 - Java 6の
try {
// do something
} catch (FirstException e) {
// log it
} catch (SecondException e) {
// log it
}
ているとは、このまたはinstanceof
良い解決策ではないようなものを使用する方が良いと思いませんか?私は本当にソリューションについて嫌い
try {
// do something
} catch(Exception e) {
logException(e);
}
void logException(Exception e) {
if (e instanceof FirstException) {
// log it
} else if (e instanceof SecondException) {
// log it differently
} else {
// do something with other exception
}
}
唯一のものは、任意のより良い方法はあります... definitelly最善の方法ではありませんどのException
を引くのですか?
私は最初のアプローチを使用し、捕捉されたすべての例外に対してlogExceptionを呼び出します。 – Thihara
'FileNotFoundException'がスローされたらどうなりますか? – Azodious
各例外をキャッチすることは、それぞれ異なる処理を行う場合にのみ意味があります。実際のアプリケーションでは、これはまれです。実現可能なアプローチは、ランタイムエラーが重大な懸念事項であり、実際にどこで何が起きたのかを開発者に理解させるために、スーパークラス '例外'または 'Throwable'を使用してem 'をすべてキャッチすることです。 – Vrushank