【发布时间】:2017-10-05 05:39:38
【问题描述】:
我正在尝试找到捕获所有异常以格式化回溯输出的理想方法。
我应该提到,目的是拥有一个简单的 gem,它可以是 required,并提供更易于阅读的回溯。所以begin...rescue 不是一个选项。
到目前为止,我已经找到了两种方法来做到这一点,每种方法都有自己的问题:
使用
TracePoint,就像我did here。
TracePoint 方法给我的灵活性比需要的少,而使用at_exit 方法,我觉得我在滥用这种方法,特别是因为我还必须使用exit! 来防止打印原始回溯。
所以,我的问题是:
- 有没有比上面提到的两个更好的方法?
- 使用
at_exit- 除了使用exit!之外,还有其他方法可以防止显示任何回溯吗?
参考代码:
at_exit do
if $! and $!.class != SystemExit
show_errors $!
exit! 1
end
end
【问题讨论】: