Ruby
[Ruby]rescueとensure
· ☕ 1 分で読めます

概要

  • ruby 3.2

rescueした後にエラーになってもensureは必ず実行されることを初めて知ったのでメモ。

サンプル

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
def hoge
  puts 'hoge'
  raise 'hoge error'
rescue => e
  puts 'rescue'
  puts e.message
  raise 'rescue error'
ensure
  puts 'ensure'
  raise 'ensure error'
  puts 'finish'
end

上記を実行すると以下のように出力される