十五:GO語言的錯誤處理機制

GO語言在默認情況下,當發生錯誤後(panic),程序就會退出(崩潰)

如果希望在發生錯誤後,可以捕獲到錯誤,並進行處理,保證程序可以繼續執行,則需要使用GO語言的錯誤處理機制

GO語言中的錯誤處理方式爲:defer,panic,recover

這三者的關係爲,在程序出現錯誤的時候可以拋出一個panic的一場,然後在defer中通過recover來捕獲這個異常,之後再進行相應處理,比如寫錯誤日誌或者給管理員發送一封錯誤郵件

 

代碼示例

該函數在運行到17行的時候會報錯,因爲num2爲0,無法進行運算,所以會報錯

 

輸出結果

這裏可以看到,在main中調用該函數後,捕獲異常並且正常輸出,

然後接着運行main函數中後面的代碼

 

 

 

自定義錯誤

  介紹:

  GO程序中,也支持自定義錯誤,使用errors.New和panic內置函數

  1.errors.New("錯誤說明"),會返回一個error類型的值,表示一個錯誤

  2.panic內置函數,接受一個interface{}類型的值(在GO語言中interface{}可以是任何值)作爲參數,可以接受error類型的變量,輸出錯誤信息,並退出程序  

  

 

 輸出結果

在程序中使用panic時,程序會被終止,並且輸出傳入panic函數中的參數內容

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章