在Golang中自定义错误结构

时间:2017-05-03 04:30:19

标签: go error-handling

golang中错误消息的默认结构包含一个字符串,但我想添加动态响应代码以及错误发生的时间。有关如何做的任何建议吗?

1 个答案:

答案 0 :(得分:3)

error不是结构,是一个接口。

type error interface {
    Error() string
}

您可以定义自己的错误结构,只需实现Error() string函数。

type ErrorA struct {
    // any field you want
}

func (e ErrorA) Error() string {
    // implement this function
}

然后ErrorA可以用作error

REF:
1. https://golang.org/ref/spec#Errors
2. https://golang.org/ref/spec#Interface_types