第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何檢查恢復(fù)中的確切錯(cuò)誤類型?

如何檢查恢復(fù)中的確切錯(cuò)誤類型?

Go
千萬里不及你 2021-12-20 17:10:01
我在這里關(guān)注這個(gè)例子:https://www.socketloop.com/tutorials/golang-smarter-error-handling-with-strings-contains-function if !strings.Contains(err.Error(), "timed out") {    fmt.Printf("resulting error not a timeout: %s", err) }但是,如果我在我的代碼中這樣做,我會(huì)得到這個(gè)err.Error 未定義(類型 interface {} 是沒有方法的接口)我想知道我在這里做錯(cuò)了什么,我應(yīng)該如何檢查確切的錯(cuò)誤(在我的情況下,我想從錯(cuò)誤“切片邊界超出范圍”中恢復(fù))最好的,
查看完整描述

1 回答

?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

使用類型斷言獲取error https://play.golang.org/p/BryV7YfZHS


defer func(){

    err := recover().(error)

    fmt.Println(err.Error())

}()


a := make([]int, 0)

a[1] = 0

但我建議你不要這樣做。首先,你不應(yīng)該使用recover。在幾乎所有情況下,這意味著你做錯(cuò)了什么。相反,修復(fù)恐慌的代碼。


其次,不要使用字符串匹配來確定錯(cuò)誤的原因。它不好的原因有很多,但我只想說這不是 Go 的做事方式。我知道您可能正在使用的 API 并沒有讓您選擇,而是嘗試找到更好的方法。使用類型斷言,輸入 switch 以獲取確切的錯(cuò)誤類型并從那里開始。


查看完整回答
反對(duì) 回復(fù) 2021-12-20
  • 1 回答
  • 0 關(guān)注
  • 141 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)