Rubyのensureはどのぐらい強いか
catch(:goto) do begin puts "hey" raise rescue puts "rescued" throw :goto exit 1 ensure puts "ensure" end end puts "caught"
% ruby rescue.rb hey rescued ensure caught
なるほどなぁ。exitよりもensure。ensureの利用目的を考えると、そうなのかも。
しかし、exit!という強いやつもいる。
catch(:goto) do begin puts "hey" raise rescue puts "rescued" exit! ensure puts "ensure" end end puts "caught"
% ruby rescue.rb hey rescued