在Ruby中,異常處理主要使用begin
、rescue
、else
和ensure
關鍵字。下面是一個簡單的示例:
begin
# 這里放置可能引發異常的代碼
result = 1 / 0
rescue ZeroDivisionError => e
# 當捕獲到ZeroDivisionError異常時,執行這里的代碼
puts "發生了除以零的錯誤:#{e.message}"
else
# 如果沒有發生異常,執行這里的代碼
puts "計算結果為:#{result}"
ensure
# 無論是否發生異常,都會執行這里的代碼
puts "異常處理結束"
end
在這個示例中,我們嘗試執行一個除以零的操作,這會引發ZeroDivisionError
異常。通過使用begin
和rescue
關鍵字,我們可以捕獲這個異常并執行相應的處理代碼。如果沒有發生異常,else
子句中的代碼將被執行。無論是否發生異常,ensure
子句中的代碼都將被執行。