此代码可以在此处运行: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如何找到所有等于的目标错误?err
1 回答
子衿沉夜
TA贡献1828条经验 获得超3个赞
您当然可以模拟哪些错误。是做“纸上”:
检查循环遍历错误链会做什么,当错误时。在其上调用解包方法。
对于每个错误,请考虑它是否是针对目标的,或者它是否实现了该方法并将为其返回 true。
==
Is(error) bool
例如,如果该类型具有正确的错误代码,则此行对该类型为 true。errors.Is(..., os.ErrNoExist)
syscall.Errno
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报
0/150
提交
取消