在 finally 块中抛出异常 [英] throws Exception in finally blocks
本文介绍了在 finally 块中抛出异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有一种优雅的方法来处理 finally
块中抛出的异常?
Is there an elegant way to handle exceptions that are thrown in finally
block?
例如:
try {
// Use the resource.
}
catch( Exception ex ) {
// Problem with the resource.
}
finally {
try{
resource.close();
}
catch( Exception ex ) {
// Could not close the resource?
}
}
如何避免 finally
块中的 try
/catch
?
How do you avoid the try
/catch
in the finally
block?
推荐答案
我通常是这样做的:
try {
// Use the resource.
} catch( Exception ex ) {
// Problem with the resource.
} finally {
// Put away the resource.
closeQuietly( resource );
}
其他地方:
protected void closeQuietly( Resource resource ) {
try {
if (resource != null) {
resource.close();
}
} catch( Exception ex ) {
log( "Exception during Resource.close()", ex );
}
}
这篇关于在 finally 块中抛出异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文