您好,登錄后才能下訂單哦!
本篇文章為大家展示了Go 語言的錯誤處理有哪些,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
掌握錯誤處理
掌握自定義錯誤處理
掌握defer關鍵字的使用
GO沒有異常處理機制
Go語言引入了一個關于錯誤處理的標準模式,即error接口,該接口的定義如下: type error interface {
Error() string
}
可以通過errors.New快速創建錯誤實例
errors.New("錯誤信息")
func Foo(param int)(n int, err error) { // ... } //調用時的代碼建議按如下方式處理錯誤情況: n, err := Foo(0) if err != nil { // 錯誤處理 } else { // 使用返回值n }
func CopyFile(dst, src string) (w int64, err error) { srcFile, err := os.Open(src) if err != nil { return } defer srcFile.Close() dstFile, err := os.Create(dstName) if err != nil { return } defer dstFile.Close() return io.Copy(dstFile, srcFile) }
類似于Java中的finally
一個函數中可以存在多個defer語句
defer語句的調用是遵照 先進后出的原則,即后一個defer語句將先被執行。
panic用于不可以恢復的錯誤
panic退出前會執行defer指定的內容
錯誤恢復
defer func() { if err :=recover();err != nil { //恢復錯誤 } }()
os.Exit 退出
os.Exit直接終止程序不會調用defer指定的函數
os.Exit退出時不會輸出當前用調用棧信息
上述內容就是Go 語言的錯誤處理有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。