20

谁能解释如何在 Java 中处理运行时异常?

4

4 回答 4

38

它与处理常规异常没有区别:

try {
   someMethodThatThrowsRuntimeException();
} catch (RuntimeException ex) {
   // do something with the runtime exception
}
于 2010-01-08T15:51:34.197 回答
4

如果您知道可能抛出的异常类型,则可以显式捕获它。您也可以 catch Exception,但这通常被认为是非常糟糕的做法,因为您将以相同的方式处理所有类型的异常。

通常,RuntimeException 的要点是您无法优雅地处理它,并且它们不会在程序的正常执行期间被抛出。

于 2010-01-08T15:51:57.197 回答
3

您只需抓住它们,就像任何其他例外一样。

try {
   somethingThrowingARuntimeException()
}
catch (RuntimeException re) {
  // Do something with it. At least log it.
}
于 2010-01-08T15:52:18.257 回答
3

不确定您是否直接RuntimeException在 Java 中引用,所以我假设您在谈论运行时异常。

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 {
}
于 2010-01-08T15:56:10.100 回答