java - 当 try 使用 finally 而不是 catch 时异常会发生什么以及它如何处理?

标签 java exception-handling

<分区>

当程序员使用不带 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/

相关文章:

python - 将错误异常保存到文件错误中

c# - 主题页面错误中的 ELMAH

java - 正则表达式 : file names that do not contain a word and matches a given pattern

json - 在 JSON.parse 期间在 Node 中捕获异常

java - 如何判断 ImageView 在 android 中是否有设置图像?

Java XPath API 引用

c# - .NET 4.0 - AccessViolationException 和 WndProc

javascript - qunit - 测试异常消息?

java - 在同一个 Activity 中实现两个 TimePickers

java - 无需使用 Firebase Phone Auth 登录即可进行移动 OTP 验证