我怎么能得到错误代码“os.错误不存在“从错误本身?

此代码可以在此处运行:https://play.golang.org/p/dX6dOzWS-Gx


cachedirstring := "./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


如何找到所有等于的目标错误?err


慕妹3242003
浏览 114回答 1
1回答

子衿沉夜

您当然可以模拟哪些错误。是做“纸上”:检查循环遍历错误链会做什么,当错误时。在其上调用解包方法。对于每个错误,请考虑它是否是针对目标的,或者它是否实现了该方法并将为其返回 true。==Is(error) bool例如,如果该类型具有正确的错误代码,则此行对该类型为 true。errors.Is(..., os.ErrNoExist)syscall.Errno
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go