此代碼可以在此處運行:https://play.golang.org/p/dX6dOzWS-Gxcachedirstring := "./cache"_, err = os.Stat(cachedirstring)if err != nil { if errors.Is(err, os.ErrNotExist) { fmt.Printf("%T\n", err) } os.Exit(1)}此輸出:*fs.PathError我知道從一本書中使用。我的問題是,我怎么知道會返回(通過代碼,而不是搜索引擎)?errors.Is(err, os.ErrNotExist)errors.Is(err, os.ErrNotExist)true如何找到所有等于的目標(biāo)錯誤?err
1 回答

子衿沉夜
TA貢獻1828條經(jīng)驗 獲得超3個贊
您當(dāng)然可以模擬哪些錯誤。是做“紙上”:
檢查循環(huán)遍歷錯誤鏈會做什么,當(dāng)錯誤時。在其上調(diào)用解包方法。
對于每個錯誤,請考慮它是否是針對目標(biāo)的,或者它是否實現(xiàn)了該方法并將為其返回 true。
==
Is(error) bool
例如,如果該類型具有正確的錯誤代碼,則此行對該類型為 true。errors.Is(..., os.ErrNoExist)
syscall.Errno
- 1 回答
- 0 關(guān)注
- 106 瀏覽
添加回答
舉報
0/150
提交
取消