- 使用
fmt.Errorf
函数:
fmt.Errorf
函数用于根据格式化字符串创建一个新的 error
实例。这是一种非常简洁方便的方式来生成错误。
package main
import (
"fmt"
)
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("division by zero")
}
return a / b, nil
}
- 自定义错误类型结构体并实现
error
接口:
先定义一个结构体类型,然后为该结构体类型实现 error
接口的 Error
方法。
package main
import (
"fmt"
)
// 自定义错误结构体
type MyError struct {
ErrMsg string
}
// 实现 error 接口的 Error 方法
func (m MyError) Error() string {
return m.ErrMsg
}
func doSomething() error {
return MyError{ErrMsg: "this is a custom error"}
}