赞 | 15 |
VIP | 0 |
好人卡 | 0 |
积分 | 19 |
经验 | 16801 |
最后登录 | 2024-7-10 |
在线时间 | 403 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1939
- 在线时间
- 403 小时
- 注册时间
- 2015-8-30
- 帖子
- 395
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
因为要实现在任何时候、以任何方式试图退出程序都会执行某一个方法,我想到了捕捉SystemExit,因为exit方法会抛出此异常来退出程序。为了做到这一点,我想到了重新定义rgss_main,使其在执行块内的内容时用begin语句捕捉SystemExit。- alias origin_rgss_main rgss_main
- def rgss_main
- begin
- super
- rescue SystemExit
- pre_exit
- exit
- end
- end
- def pre_exit
- # ...
- end
复制代码 其中pre_exit方法是在退出程序时执行的。但是经过测试发现这些代码根本没用。查了Ruby语法,关于begin语句有在没有指定异常类型时,rescue 则会捕捉所有 StandardError 子类的异常,大多数的内建异常都是 StandardError 的子类。 又发现SystemExit异常不是StandardError的子类。
所以,希望找到一个可以捕捉SystemExit的办法,或者找到一个能实现我希望实现功能的另外的办法。非常感谢。 |
|