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