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