在Ruby中處理異常情況通常使用begin
、rescue
、else
和ensure
這四個關鍵字。下面是一個簡單的示例,展示了如何使用這些關鍵字處理異常:
begin
# 這里放置可能引發異常的代碼
result = risky_operation
rescue SomeExceptionType => e
# 當異常類型與SomeExceptionType匹配時,執行此處的代碼
puts "捕獲到異常:#{e.message}"
rescue ExceptionType => e
# 當捕獲到其他類型的異常時,執行此處的代碼
puts "捕獲到未知異常:#{e.message}"
else
# 如果沒有發生異常,執行此處的代碼
puts "操作成功,結果為:#{result}"
ensure
# 無論是否發生異常,都會執行此處的代碼
puts "異常處理結束"
end
在這個示例中,我們首先使用begin
關鍵字開始一個可能引發異常的代碼塊。接著,我們使用rescue
關鍵字捕獲特定類型的異常(如SomeExceptionType
)和所有其他類型的異常(使用Exception
作為基類)。如果沒有發生異常,else
子句將被執行。無論是否發生異常,ensure
子句都會被執行。
你可以根據需要調整異常類型和處理代碼,以便更好地處理特定的異常情況。