go自定义error
在Go语言中,可以通过定义一个结构体来自定义错误(error)。这个结构体可以包含错误的描述、错误的上下文等信息。
以下是一个自定义错误的示例:
package main
import (
"errors"
"fmt"
)
// 定义一个自定义错误类型
type MyError struct {
Code int
Message string
}
// 实现Error接口
func (e MyError) Error() string {
return fmt.Sprintf("Error Code: %d, Message: %s", e.Code, e.Message)
}
func main() {
err := MyError{Code: 404, Message: "Not Found"}
if err != nil {
fmt.Println(err.Error())
}
// 使用errors.New创建一个新的错误
err = errors.New("An unknown error occurred")
if err != nil {
fmt.Println(err)
}
}
在这个示例中,我们定义了一个MyError
结构体,它有两个字段:Code
和Message
。然后我们实现了Error()
方法,这个方法返回一个错误的字符串描述。在main
函数中,我们创建了MyError
类型的实例,并使用Error()
方法打印了错误信息。
另外,我们还演示了如何使用errors.New
函数来创建一个简单的错误信息。这在Go标准库中广泛使用,是一种快速创建错误的方式。
评论已关闭