ruby at_exit 退出状态

2024-01-05

我可以在 at_exit 块中确定自己的进程退出状态吗?

at_exit do
  if this_process_status.success?
    print 'Success'
  else
    print 'Failure'
  end
end

使用来自的想法tadman https://stackoverflow.com/users/87189/tadman

at_exit do
  if $!.nil? || ($!.is_a?(SystemExit) && $!.success?)
    print 'success'
  else
    code = $!.is_a?(SystemExit) ? $!.status : 1
    print "failure with code #{code}"
  end
end

或没有 Perlism:

require 'English'

at_exit do
  if $ERROR_INFO.nil? || ($ERROR_INFO.is_a?(SystemExit) && $ERROR_INFO.success?)
    print 'success'
  else
    code = $ERROR_INFO.is_a?(SystemExit) ? $ERROR_INFO.status : 1
    print "failure with code #{code}"
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ruby at_exit 退出状态 的相关文章

随机推荐

  • getopt 不解析参数的可选参数

    在 C 中 getopt long 不会解析命令行参数参数的可选参数 当我运行程序时 可选参数无法被识别 就像下面运行的示例一样 respond praise John Kudos to John respond blame John Yo
  • 到底什么是幺半群同态?

    我读过有关幺半群同态的内容幺半群态射 乘积和余积 http blog higher order com blog 2014 03 19 monoid morphisms products coproducts 并且无法100 理解 作者说
  • 从 AKKeyboardView 创建 MIDI 文件

    目前我正在使用AKKeyboardView本质上连接到AKRhodesPiano对象 我想知道是否有一种简单的方法可以从中生成 MIDI 文件 我看到AKKeyboardView有noteOn and noteOff函数 这确实产生了MID
  • symfony2 + 学说:修改 `onFlush` 上的子实体:“无效参数数量:绑定变量的数量与令牌数量不匹配”

    我有一个1 m之间的关系Subitem and SubitemColor 现在我想将一些数据保存在onFlush修改一些数据SubitemColor 问题 执行控制器时我收到以下错误消息 您也可以在下面看到 执行 INSERT INTO S
  • 如何使用 Prawn 将 base64 字符串转换为 PNG,而不保存在 Rails 中的服务器上

    所以我尝试使用 Prawn gem 将画布的 PNG 图像嵌入到 PDF 中 Base64字符串是使用canvas的toDataURL 函数生成的 由于图像只需要在 PDF 中 我试图避免将其保存在服务器上 Params base64str
  • 在qml中恢复最小化的无框窗口

    我有一个默认的 main cpp 文件 并在 qml 文件中编写一些代码 像这样的事情 ApplicationWindow id mainWindow width 640 height 480 color white visible tru
  • 如何使用 TypeScript 和来自 github 的 Chartjs.definitelyTyped 计算出 Chartjs

    我想使用 Chartjs chartjs org 作为我的图表工具以及使用 TypeScript 的 AngularJS 我已经从 GitHub 安装了 AbsoluteTyped for Chartjs 以便将 Chartjs 图表的创建
  • Google App Maker 应用部署后无法运行

    我使用 Google App Maker 构建了一个应用程序 其中有一个通过查询参数链接到表格的建议框 该应用程序在预览模式下可以正常工作 但是当我部署它时 建议框没有提出任何建议 我之前已经部署过一次 我记得没有选择框 并且它工作正常 我
  • 它什么时候会在 Android 应用程序的 admob 上生效

    我制作了集成admob的Android应用程序 然后我在我的测试设备上运行这个应用程序 它会在屏幕上显示广告横幅 但广告的状态仍然是无效的 这让我很困惑 你知道admob什么时候激活吗 运行这个从市场商店下载的应用程序 提前致谢 AdMob
  • 测试路径/System.IO.Directory::Exists 未按预期工作

    我在使用 Powershell CmdLet 测试路径时遇到问题 我在服务器上创建了共享 Servername MyShare 它允许一组用户仅创建文件并附加数据 而其他用户只能读取和删除这些文件 第一组不允许执行任何其他操作 包括读取权限
  • 我如何在 PHPExcel 中制作项目符号列表

    我试图使用将 html 标签从 php 转换为 excelPHPExcel 一切都很顺利 除了我找不到如何制作项目符号列表 PHPExcel 中是否存在此功能 我已经扫描了 PHPExcel 的一些纪录片 但我找不到任何有关子弹的内容 我想
  • 华为系统文件“源代码与字节码不匹配”

    我们正在调试其中一个应用程序的一个问题 该问题仅影响华为设备 为了调试它 我们购买了 P20 Lite ANE LX1 我们在代码中放置了一些断点 并正在调查完整的堆栈跟踪 该设备安装了 Android 8 0 我们在 Android St
  • pthread_create() 如何工作?

    鉴于以下情况 pthread t thread pthread create thread NULL function NULL 到底是做什么的pthread create do to thread 会发生什么thread在它加入主线程并终
  • org.json.JSONException:第 550 个字符处的预期文字值

    我正在尝试从 asset 文件夹中读取 JSON 文件 但我得到以下异常 org json JSONException Expected literal value at character 550 我搜索了很多东西但没有找到任何相关的东西
  • 无法使用CSS网格实现网格布局[重复]

    这个问题在这里已经有答案了 在尝试了解有关 CSS 网格的更多信息时 我尝试创建一些不同的网格布局 我试图创建的内容如下 这是其中的一个步骤 wrapper display grid grid gap 15px grid template
  • 在Android中查看活动堆栈[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 是否可以查看 Android 中的活
  • 找不到包 java.nio.file

    我的 java 编译器找不到java nio file包裹 考虑 import java nio file public class Test public static void main String args Path current
  • 性能:(比较字符串)与(转换为整数)

    大家好 我是 Stack Overflow 的新手 对 python 也相当陌生 但我已经编写代码多年了 想知道以下哪一种性能更好 假设我已经从操作系统加载了environ 并且环境中的标志保证为 0 或 1 if environ Flag
  • HTML 有序列表缩进以保留原始编号

    我需要缩进有序列表以保持父列表项编号 我拥有的 My code ol li Item 1 li li Item 2 ol li Item 2 1 li li Item 2 2 li ol li li Item 3 li ol 等等 我现在得
  • ruby at_exit 退出状态

    我可以在 at exit 块中确定自己的进程退出状态吗 at exit do if this process status success print Success else print Failure end end 使用来自的想法ta