在Ruby中,異常是通過begin
、rescue
和end
關鍵字來捕獲和處理的。可以使用begin
塊來嘗試執行可能會引發異常的代碼,然后使用rescue
塊來捕獲并處理異常。以下是一個簡單的例子:
begin
# 可能會引發異常的代碼
1 / 0
rescue ZeroDivisionError => e
# 捕獲ZeroDivisionError異常,并輸出錯誤信息
puts "Error occurred: #{e.message}"
end
在上面的例子中,我們嘗試對1進行除以0的操作,這會引發ZeroDivisionError
異常。然后在rescue
塊中捕獲這個異常,并輸出錯誤信息。
除了指定異常類型外,也可以使用rescue
關鍵字來捕獲任何類型的異常:
begin
# 可能會引發異常的代碼
1 / 0
rescue => e
# 捕獲任何類型的異常,并輸出錯誤信息
puts "Error occurred: #{e.message}"
end
除了rescue
塊外,還可以使用ensure
塊來執行清理操作,無論是否發生異常都會執行:
begin
# 可能會引發異常的代碼
1 / 0
rescue ZeroDivisionError => e
# 捕獲ZeroDivisionError異常,并輸出錯誤信息
puts "Error occurred: #{e.message}"
ensure
# 無論是否發生異常都會執行的清理操作
puts "Cleanup code here"
end
通過使用begin
、rescue
和ensure
關鍵字,可以有效地捕獲和處理異常,從而提高程序的穩定性和可靠性。