Go語言中錯誤處理實例分析
本文實例講述了Go語言中錯誤處理的方法。分享給大家供大家參考。具體分析如下:
錯誤是可以用字符串描述自己的任何東西。 主要思路是由預(yù)定義的內(nèi)建接口類型 error,和其返回返回字符串竄的方法 Error 構(gòu)成。
type error interface {
Error() string
}
當(dāng)用 fmt 包的多種不同的打印函數(shù)輸出一個 error 時,會自動的調(diào)用該方法。
import (
"fmt"
"time"
)
type MyError struct {
When time.Time
What string
}
func (e *MyError) Error() string {
return fmt.Sprintf("at %v, %s",
e.When, e.What)
}
func run() error {
return &MyError{
time.Now(),
"it didn't work",
}
}
func main() {
if err := run(); err != nil {
fmt.Println(err)
}
}
希望本文所述對大家的Go語言程序設(shè)計有所幫助。
相關(guān)文章
Go?數(shù)據(jù)結(jié)構(gòu)之二叉樹詳情
這篇文章主要介紹了?Go?數(shù)據(jù)結(jié)構(gòu)之二叉樹詳情,二叉樹是一種數(shù)據(jù)結(jié)構(gòu),在每個節(jié)點下面最多存在兩個其他節(jié)點。即一個節(jié)點要么連接至一個、兩個節(jié)點或不連接其他節(jié)點,下文基于GO語言展開二叉樹結(jié)構(gòu)詳情,需要的朋友可以參考一下2022-05-05Golang設(shè)計模式工廠模式實戰(zhàn)寫法示例詳解
這篇文章主要為大家介紹了Golang 工廠模式實戰(zhàn)寫法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08Go結(jié)構(gòu)體從基礎(chǔ)到應(yīng)用深度探索
本文深入探討了結(jié)構(gòu)體的定義、類型、字面量表示和使用方法,旨在為讀者呈現(xiàn)Go結(jié)構(gòu)體的全面視角,通過結(jié)構(gòu)體,開發(fā)者可以實現(xiàn)更加模塊化、高效的代碼設(shè)計,這篇文章旨在為您提供關(guān)于結(jié)構(gòu)體的深入理解,助您更好地利用Go語言的強大功能2023-10-10Golang動態(tài)調(diào)用方法小結(jié)
本文主要介紹了Golang動態(tài)調(diào)用方法小結(jié),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12SpringEvent優(yōu)雅解耦時連續(xù)兩個bug的解決方案
這篇文章主要為大家介紹了SpringEvent優(yōu)雅解耦時連續(xù)兩個bug的解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12Golang中的關(guān)鍵字(defer、:=、go?func())詳細解讀
這篇文章主要介紹了Golang中的關(guān)鍵字(defer、:=、go?func())詳細解讀,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04Go語言resty http包調(diào)用jenkins api實例
這篇文章主要為大家介紹了Go語言resty http包調(diào)用jenkins api實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06