-1

可能重复:
捕捉 Throwable 是一种不好的做法吗?

捕捉可投掷物是最佳做法吗?如果捕获 throwable,它会捕获内存不足等异常吗?

4

1 回答 1

0

捕获异常的唯一方法与捕获Throwable异常相同。它的工作原理是,它通过层次结构树捕获异常/错误。

所以如果你想捕捉OutOfMemory错误,你有一些选择:

try{
}catch(java.lang.OutOfMemoryError t){
}

try{
}catch(java.lang.Error t){
}

try{
}catch(java.lang.Throwable t){
}

只需检查文档中的类树以获取您想要捕获的异常。 http://docs.oracle.com/javase/6/docs/api/java/lang/OutOfMemoryError.html

还有一个很好的做法是在你的 catch 块中总是从树底部的那些开始,例如:

try{
//
}catch(java.lang.OutOfMemoryError t){
// handle out of memory error
}catch(java.lang.Throwable t){
// handle other throwable
}

还要记住,Error 和 Exception 它们都扩展 Throwable,但它们不相互扩展,因此它们都是类树中的兄弟姐妹。

于 2012-06-17T03:04:08.523 回答