TIL: Exception#causeはraiseされるまではnil つまり次のようになる begin begin raise 'foo' rescue e = StandardError.new p 'before rescue', e.cause raise e end rescue => e p 'after raise', e.cause end # "before rescue" # nil # "after raise" # #<RuntimeError: foo></runtimeerror:>…