为什么我们使用finally块? [复制]

2023-11-26

据我所知,以下两个代码片段都具有相同的目的。为什么有finally完全阻塞吗?

Code A:

try { /* Some code */ }
catch { /* Exception handling code */ }
finally { /* Cleanup code */ }

Code B:

try { /* Some code */ }
catch { /* Exception handling code */ }
// Cleanup code

  • 如果抛出您未处理的异常会发生什么? (我希望你没有抓住Throwable...)
  • 如果从 try 块内部返回会发生什么?
  • 如果 catch 块抛出异常会发生什么?

A finally块确保however你退出该块(以几种显式中止整个过程的方式为模),它将被执行。这对于确定性的资源清理非常重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我们使用finally块? [复制] 的相关文章

随机推荐

  • 如何按降序对 Plotly 条形图进行排序

    I have created a basic bar chart in plotly that I would like to sort by descending order 我找不到在绘图语法中指定这一点的简单方法 因此我尝试使用 Pa
  • 按钮点击返回值

    当我单击 PyQt 中的按钮时 我很难从调用的函数返回一个值 这就是我想为变量赋值的方式 file path self Button open clicked connect self OpenTextFile 整个函数如下所示 def O
  • Android SimpleDateFormat,如何使用?

    我正在尝试使用AndroidSimpleDateFormat像这样 String Date 2010 09 29 08 45 22 SimpleDateFormat fmt new SimpleDateFormat yyyy MM dd t
  • 是否可以以无点形式编写模式匹配函数?

    考虑以下 Haskell 代码 data Keypress Keypress Int Char getSeq Keypress gt Char getSeq Keypress i c replicate i c 有什么办法可以写getSeq
  • 关于用友元函数查找名字的问题

    我已阅读 basic lookup unqual 的标准部分 对此我感到困惑 typedef int f namespace N struct A friend void f A operator int void g A a int i
  • 如何将 GIF 图像添加到 Assets 文件夹并以编程方式将它们加载到 UIImageView 中

    我正在尝试将 2x 和 3x GIF 图像放入 Xcode 中的 Assets 文件夹中 我已经尝试过以下链接 但它对我不起作用 Link 1 and Link 2 我目前正在加载 GIF 文件 方法是将它们添加到我的项目包中并使用此访问它
  • PHP函数未定义变量问题

    我是 PHP 新手 所以我的函数有一个小问题 我有这行代码
  • 确保 .NET 中的 json 键为小写

    是否有在 NET 中使用 JSON 的简单方法来确保密钥以小写形式发送 目前我正在使用 newtonsoft 的 Json NET 库并简单地使用 string loginRequest JsonConvert SerializeObjec
  • 反应本机获取cookie

    我已经使用 fetch 登录了我的服务器 我想知道如何获取 cookie 我知道我可以使用 文档 cookie在浏览器开发中获取cookies 但是在React Native中如何开发 非常感谢 我刚刚遇到了同样的问题 我的第一个方法是手动
  • C++11 中的向量 VS 矢量 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我们为什么要使用vector
  • 在 WAMP 上安装 IMAGEMAGICK 的分步说明?

    似乎没有任何简明的教程 演练在 WAMP 上安装 ImageMagick 以与 PHP 一起使用 我已经尝试了数十种二进制版本与不同 php 扩展 dll 文件的组合 我可以从命令行让 imagemagick 正常工作 并且可以让它在 WA
  • 缺少 Google 日历结束时间

    这是我的谷歌日历请求 在响应中 错误代码是 缺少结束时间 我正在尝试使其动态化 因此我最终将删除硬编码的开始和结束日期时间 var object end dateTime 2014 07 28T23 00 00 end timeZone t
  • 根据选项组和选项计算产品变体

    我正在编写一个电子商务网站 需要一种好方法来计算产品变化 网站有产品 产品可以有很多选项组 选项组可以有很多选项 因此 T 恤产品有 3 个选项组和选项 Size 小的 中等的 大的 Color 红色的 蓝色的 黄色的 黑色的 Materi
  • python 修改函数中列表的切片

    考虑下面的代码 def func1 a a x 2 for x in a a range 10 print a prints 0 1 2 3 4 5 6 7 8 9 func1 a 5 print a also prints 0 1 2 3
  • 如何在SVN中找到两个分支的共同祖先?

    想象一下 您有一棵巨大的 SVN 树 树枝遍布各处 有树干 有树枝 这些树枝有树枝 等等 那么 给定树中的两个树枝 如何找到共同的祖先 我知道你可以简单地获取完整的日志并进行比较 但是如果你的主干有 75 000 个修订 并且大多数时候你确
  • 在 SpriteKit 中移动相机

    UPDATE已添加更新的代码 其工作原理符合我的预期 请参阅下面更新的代码中的 didSimulatePhysics 方法 就我而言 我只关心在 x 轴上向左或向右移动字符 其中 x 轴上的 0 是绝对左侧 x 轴上的右侧是可配置值 苹果的
  • Set-MsmqQueueACL - 允许 - 无法按照文档使用列表?

    我正在尝试使用 Powershell v5 1 Win2k16 在 Msmq 队列上设置 ACL 但即使我遵循文档 我仍然收到错误 Get MsmqQueue Name s009 ClientsServiceBus QueueType Pr
  • 如何在服务器端获取 HTTP POST 请求正文作为 Java 字符串?

    HttpExchange 对象的 getRequestBody 方法返回一个 InputStream 正确解读 正文 还有很多工作要做 它是一个 Java 库 对象 方法 向前迈出一步并将主体 在服务器端 作为现成的 Java 字符串返回
  • 如何在没有 glDrawPixels 的情况下将缓冲区对象渲染/绘制到帧缓冲区

    根据 opengl 规范 4 0 glDrawPixels 已被弃用 对于 cuda 互操作性 似乎最好使用 opengl 缓冲区对象 替代方案可以是纹理或表面 但它们存在缓存 并发问题 因此无法用于我的 cuda 内核 我只是想创建一个
  • 为什么我们使用finally块? [复制]

    这个问题在这里已经有答案了 据我所知 以下两个代码片段都具有相同的目的 为什么有finally完全阻塞吗 Code A try Some code catch Exception handling code finally Cleanup