<分区>
当程序员使用不带 catch 的 try block 时
像这样
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
pm.makePersistent(c);
} finally {
pm.close();
}
异常发生了什么以及它以后可能如何处理?
我尝试从网上学习但没有明确的结果......
<分区>
当程序员使用不带 catch 的 try block 时
像这样
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
pm.makePersistent(c);
} finally {
pm.close();
}
异常发生了什么以及它以后可能如何处理?
我尝试从网上学习但没有明确的结果......
最佳答案
当您没有指定 catch
block 时,您基本上是将处理异常的责任转移给方法的调用者。
因此,如果您的方法没有从 try
block 中捕获一个或多个异常,并且在您的方法 block 中引发异常,它将被抛回给调用者。
finally
block 确保如果在 try
block 中发生错误,那么至少您将有机会在抛出异常之前关闭/释放任何相关资源返回给调用者。
关于java - 当 try 使用 finally 而不是 catch 时异常会发生什么以及它如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26054460/