go 判断 error 类型
时间: 2024-01-02 13:01:40 浏览: 6
在 Go 中,可以通过类型断言或类型判断来判断错误的类型。具体来说,可以使用 `errors.As()` 函数来将错误转换为特定类型的错误,并检查转换是否成功,示例如下:
```
var err error = someFunc()
var myErr *MyError
if errors.As(err, &myErr) {
// err 是 MyError 类型的错误
// 可以使用 myErr 来访问错误的属性
} else {
// err 不是 MyError 类型的错误
}
```
此外,还可以使用 `errors.Is()` 函数来检查错误是否是特定类型的错误,示例如下:
```
var err error = someFunc()
if errors.Is(err, io.EOF) {
// err 是 io.EOF 类型的错误
} else {
// err 不是 io.EOF 类型的错误
}
```
在这个例子中,我们检查 `err` 是否是 `io.EOF` 类型的错误。如果是,那么说明发生了文件结束错误。否则,就是其他类型的错误。
阅读全文