摘要
如您所見,Go 中的錯誤處理和記錄與其他程式設計語言中的這些處理流程不同。 首先,Go 的錯誤處理方法很簡單。 您可以使用 if
條件,而您要呼叫的函式應該會傳回多個值。 依慣例,最後傳回的值是錯誤。 如果錯誤變數回傳 nil
,則沒有錯誤。 如果值不是 nil
,會發生失敗。 您可以藉由再次傳回錯誤,將錯誤傳播至堆疊,而且您可以視需要包含更多內容。
您可以建立可重複使用的錯誤變數,做為程式中常見錯誤訊息的傳回值。
您也需要知道何時會發生異常。 我們已探討 panic
和 recover
如何運作。 只有當您明確需要停止程式時,才應該使用這些函式。 有時候,即使您正確處理錯誤,您的程式也可能會停止回應。 但這應該是例外狀況,而不是規則。
最後,我們探討在 Go 中記錄的運作方式,而且您已了解如何使用標準程式庫。 除了將記錄列印至主控台之外,您可以將記錄傳送至檔案以供稍後處理,然後將其傳送到集中的位置。 當您的程式碼基底增長時,可能需要進行其他作業,例如設定記錄層級或設定不同的輸出。 標準程式庫不支援這些工作。 您必須使用類似 zerolog 的紀錄架構。
此課程模組很簡短,但請務必了解這些概念。 當您需要針對程式中的問題進行疑難排解時,這些概念會很有幫助。