[Ruby] Error Handling(錯誤處理)
keywords: error
, exceptions
放在 begin
和 end
這兩個關鍵字中的方法或程式區塊(block)都可以使用 rescue
來攔截例外狀況。在測試的過程中,我們可以使用 raise
來引發錯誤,讓它進入到 rescue
中:
retry
:當你在 rescue 區塊中捕捉到例外時,可以使用retry
來再次從begin
開始執行。raise
: 這個方法可以引發一個例外(exception),它會打斷原本程式執行的流動,例如使用raise
。else
: 會寫在rescue
後,ensure
之前,當程式碼的主體(begin
中的內容)沒有被引發例外的話,else
就會被執行。ensure
: 則可以確保某段程式碼一定會在區塊的最後被執行,不論例外是否有被引發(raise
)。
# Ruby Error Handling 語法
begin
#.. 要執行的程式主體
raise # 使用 raise 可以引發例外做為測試
rescue
#.. 錯誤處理
retry # 這將會讓程式回到最開始的 begin 執行
else
#.. 如果沒有例外的話才會執行這段
ensure
#.. finally ensure execution
#.. 放在這的內容總是會被執行到
end