任意のその場でインスタンス化したExceptionにbacktrace情報やcauseを付与したい時がある。そんなときはこう。
begin
1/0
rescue => e
err = raise RuntimeError.new, '任意のエラーを発生させよう!' rescue $!
p err
p err.cause
end
# => #<RuntimeError: 任意のエラーを発生させよう!>
# => #<ZeroDivisionError: divided by 0>
これが一番早いと思います