所有异常 — 包括信号 — 在观察期间都会被捕获

作者: djrodgerspryor创建于 2016年12月12日更新于 2016年12月12日

observation.rb 是这样做的:

ruby
def initialize(name, experiment, &block)
    ...
    begin
        @value = block.call
    rescue Object => e
        @exception = e
    end
    ...
end

这是一个 很好 记录的 反模式。特别是,这意味着任何信号(例如 <SignalException: SIGTERM>)都将被视为只是候选代码中的一个错误(通常意味着记录并忽略)。

内容来源: github/scientist