誰かがJavaでランタイム例外を処理する方法を説明できますか?
通常の例外の処理と同じです。
try {
someMethodThatThrowsRuntimeException();
} catch (RuntimeException ex) {
// do something with the runtime exception
}
スローされる可能性のある例外のタイプがわかっている場合は、それを明示的にキャッチできます。 Exception
をキャッチすることもできますが、すべてのタイプの例外を同じ方法で処理するため、これは一般に非常に悪い習慣と見なされます。
一般に、RuntimeExceptionのポイントは、正常に処理できないことであり、プログラムの通常の実行中にスローされることは想定されていません。
他の例外と同様に、それらをキャッチします。
try {
somethingThrowingARuntimeException()
}
catch (RuntimeException re) {
// Do something with it. At least log it.
}
JavaでRuntimeException
を直接参照しているかどうかわからないため、実行時の例外について話していると想定します。
Javaでの例外処理の基本的な考え方は、以下のような特別なステートメントで例外が発生すると予想されるコードをカプセル化することです。
try {
// Do something here
}
次に、例外を処理します。
catch (Exception e) {
// Do something to gracefully fail
}
例外が発生したかどうかに関係なく、特定の処理を実行する必要がある場合は、finally
を追加します。
finally {
// Clean up operation
}
まとめるとこんな感じです。
try {
// Do something here
}
catch (AnotherException ex) {
}
catch (Exception e) { //Exception class should be at the end of catch hierarchy.
}
finally {
}