golang errors.Is
package main import ( "errors" "fmt" "github.com/containerd/containerd/errdefs" ) func main() { err := fmt.Errorf("snapshotter was not found: %w", errdefs.ErrNotFound) fmt.Println(err) if errdefs.IsNotFound(err) { fmt.Println("nmx111") } if errors.Is(err, errdefs.ErrNotFound) { fmt.Println("222222222") } }
[Running] go run "/home/nmx/bug/main.go"
snapshotter was not found: not found
nmx111
222222222
在Go语言中,
errors.Is函数用于检查一个错误是否包含另一个错误。这个函数通过比较错误链来确定当前错误是否包含目标错误。例如,如果函数A调用了函数B,函数B调用了函数C,而函数C返回了一个错误,那么可以通过errors.Is来检查这个错误是否与预期的错误匹配。

浙公网安备 33010602011771号