📅  最后修改于: 2023-12-03 14:52:18.174000             🧑  作者: Mango
在 Golang 中创建自定义错误非常方便,只需要使用 errors.New()
函数即可。
package main
import (
"errors"
"fmt"
)
func main() {
err := errors.New("这是一个自定义错误")
fmt.Println(err)
}
以上代码使用 errors.New()
函数创建了一个新的自定义错误,使用 fmt.Println()
函数输出错误信息,输出结果如下:
这是一个自定义错误
除了简单地创建自定义错误外,您还可以为错误添加更多的信息以提高错误的可读性和完整性。
下面是一个例子:
package main
import (
"errors"
"fmt"
)
func main() {
err := errors.New("这是一个自定义错误")
err = fmt.Errorf("发生错误,错误信息:%s", err.Error())
fmt.Println(err)
}
在上面的代码中,我们首先使用 errors.New()
函数创建了一个新的自定义错误,然后使用 fmt.Errorf()
函数为错误添加更多的信息。最后,我们使用 fmt.Println()
函数输出错误信息。输出结果如下:
发生错误,错误信息:这是一个自定义错误
除了使用 errors.New()
函数创建自定义错误外,您还可以使用 struct 来创建一个自定义的错误类型。
下面是一个例子:
package main
import (
"fmt"
)
type myError struct {
message string
}
func (e *myError) Error() string {
return e.message
}
func main() {
err := &myError{"这是一个自定义错误类型"}
fmt.Println(err.Error())
}
在上面的代码中,我们创建了一个名为 myError
的 struct 来表示自定义错误。该 struct 包含一个 message
字段和一个实现了 Error()
方法的指针接收器。
Error()
方法返回由 message
字段设置的自定义错误信息。在 main
函数中,我们使用 &myError{"这是一个自定义错误类型"}
创建了一个新的自定义错误实例,然后使用 fmt.Println()
函数输出错误信息。输出结果如下:
这是一个自定义错误类型
在 Golang 中,创建自定义错误非常方便,您可以使用 errors.New()
函数或 struct 来创建自定义错误类型。如果需要更详细的错误信息,我们可以使用 fmt.Errorf()
函数为错误添加更多的信息。