web-dev-qa-db-ja.com

JavaでのRuntimeExceptionの処理

誰かがJavaでランタイム例外を処理する方法を説明できますか?

19
RKCY

通常の例外の処理と同じです。

try {
   someMethodThatThrowsRuntimeException();
} catch (RuntimeException ex) {
   // do something with the runtime exception
}
38
Bozho

スローされる可能性のある例外のタイプがわかっている場合は、それを明示的にキャッチできます。 Exceptionをキャッチすることもできますが、すべてのタイプの例外を同じ方法で処理するため、これは一般に非常に悪い習慣と見なされます。

一般に、RuntimeExceptionのポイントは、正常に処理できないことであり、プログラムの通常の実行中にスローされることは想定されていません。

4
danben

他の例外と同様に、それらをキャッチします。

try {
   somethingThrowingARuntimeException()
}
catch (RuntimeException re) {
  // Do something with it. At least log it.
}
3
Confusion

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 {
}
3
Ed Altorfer