Ruby異常處理主要包括begin
、rescue
、ensure
和raise
四個關鍵字。以下是這些關鍵字在Ruby異常處理中的作用:
begin
:用于定義可能引發異常的代碼塊。rescue
:用于捕獲并處理特定異常,可以指定多個異常類型,按順序捕獲。如果沒有指定異常類型,將捕獲所有異常。ensure
:用于定義在所有情況下都會執行的代碼塊,無論是否發生異常。raise
:用于手動拋出異常,可以指定異常類型和異常信息。以下是一個簡單的Ruby異常處理示例:
begin
# 可能引發異常的代碼
result = 10 / 0
rescue ZeroDivisionError => e
# 處理ZeroDivisionError異常
puts "發生了除以零的錯誤:#{e}"
rescue => e
# 處理其他異常
puts "發生了未知錯誤:#{e}"
ensure
# 無論是否發生異常都會執行的代碼
puts "異常處理結束"
end
在這個示例中,我們嘗試執行一個除以零的操作,這會引發ZeroDivisionError
異常。通過使用rescue
關鍵字,我們可以捕獲并處理這個異常。如果沒有指定異常類型,將捕獲所有異常。ensure
關鍵字確保在所有情況下都會執行某些代碼。