github.com/code-reading/golang@v0.0.0-20220303082512-ba5bc0e589a3/coding/errors/is.go (about)

     1  package main
     2  
     3  import (
     4  	"errors"
     5  	"fmt"
     6  	"io/fs"
     7  	"os"
     8  )
     9  
    10  func main() {
    11  	if _, err := os.Open("non-existing"); err != nil {
    12  		// errors.Is(err, xxx), 这里 最终调用了err.Is() 函数完成逻辑判断
    13  		// 这里说明, 可以在给家的错误 定义Is 用来完成 业务错误判断
    14  		if errors.Is(err, fs.ErrNotExist) { // 判断错误是不是fs.ErrNotExist
    15  			fmt.Println("file does not exist")
    16  		} else {
    17  			fmt.Println(err)
    18  		}
    19  	}
    20  }