異常(exception)本身也是對象,類型是Exception或是其子類。raise方法會拋出一個異常,這會中斷代碼的正常運轉流程,Ruby會到調用棧中尋找能夠處理該異常的代碼。
如果要處理異常,可將代碼放在begin和end關鍵字之間,并用ruscue子句來攔截特定類型的異常。
begin
???....
rescue BlogDat6aNotFound
???...
rescue Exception =>exc
???...
ensure
???... #無論begin塊是否成功,ensure代碼域都將執行
end