在Ruby中,異常處理是通過begin
、rescue
、else
和ensure
關鍵字實現的。這些關鍵字允許你捕獲和處理在程序執行過程中可能發生的異常。下面是一個簡單的示例,展示了如何使用這些關鍵字進行異常處理:
begin
# 嘗試執行的代碼塊
result = 10 / 0
rescue ZeroDivisionError => e
# 當捕獲到特定異常時執行的代碼塊
puts "發生了除以零的錯誤: #{e.message}"
else
# 如果沒有異常發生,執行此代碼塊
puts "結果是: #{result}"
ensure
# 無論是否發生異常,都會執行此代碼塊
puts "異常處理結束"
end
在這個示例中,我們嘗試執行一個除以零的操作,這會引發一個ZeroDivisionError
異常。我們使用rescue
關鍵字捕獲這個異常,并在rescue
代碼塊中處理它。如果沒有異常發生,else
代碼塊將被執行。無論是否發生異常,ensure
代碼塊都會被執行。