Java 抓捕Thorrable是最佳做法吗?

Java 抓捕Thorrable是最佳做法吗?,java,Java,可能重复: 抓捕一次性垃圾是最佳做法吗?如果捕获可丢弃文件,它是否会捕获内存不足等异常 捕获可丢弃的异常的唯一方法与捕获异常的方法相同。它的工作原理是,通过层次结构树捕获异常/错误 因此,如果您想捕获OutOfMemory错误,您有一些选项: 试试看{ }catch(java.lang.OutOfMemoryError t){ } 试一试{ }catch(java.lang.Error t){ } 试一试{ }catch(java.lang.Throwable t){ } 只需检查文档中的类

可能重复:


抓捕一次性垃圾是最佳做法吗?如果捕获可丢弃文件,它是否会捕获内存不足等异常

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

因此,如果您想捕获
OutOfMemory
错误,您有一些选项:

试试看{
}catch(java.lang.OutOfMemoryError t){
}
试一试{
}catch(java.lang.Error t){
}
试一试{
}catch(java.lang.Throwable t){
}
只需检查文档中的类树,以获取您想要捕获的异常。

另外一个好的做法是,在您的捕获块中,始终以树底部的块开始,例如:

试试看{
//
}catch(java.lang.OutOfMemoryError t){
//处理内存不足错误
}catch(java.lang.Throwable t){
//处理其他一次性物品
}

还请记住,错误和异常它们都扩展了Throwable,但它们彼此不扩展,因此它们都是类树中的兄弟项。

尽管这可能更合适: