抓住
與許多其他程式語言不同,throw
和 catch
關鍵字與 Ruby 中的異常處理無關。
在 Ruby 中,throw
和 catch
在其他語言中有點像標籤。它們用於更改控制流,但與異常之類的錯誤概念無關。
catch(:out) do
catch(:nested) do
puts "nested"
end
puts "before"
throw :out
puts "will not be executed"
end
puts "after"
# prints "nested", "before", "after"