New/Newf
方法,用于创建一个自定义错误信息的error
对象,并包含堆栈信息,并增加错误码对象的输入。 NewCode(code gcode.Code, text ...string) error
NewCodef(code gcode.Code, format string, args ...interface{}) error
func ExampleNewCode() {
err := gerror.NewCode(gcode.New(10000, "", nil), "My Error")
fmt.Println(err.Error())
fmt.Println(gerror.Code(err))
// Output:
// My Error
// 10000
}
func ExampleNewCodef() {
err := gerror.NewCodef(gcode.New(10000, "", nil), "It's %s", "My Error")
fmt.Println(err.Error())
fmt.Println(gerror.Code(err).Code())
// Output:
// It's My Error
// 10000
}
Wrap/Wrapf
方法,用于包裹其他错误error
对象,构造成多级的错误信息,包含堆栈信息,并增加错误码参数的输入。 WrapCode(code gcode.Code, err error, text ...string) error
WrapCodef(code gcode.Code, err error, format string, args ...interface{}) error
func ExampleWrapCode() {
err1 := errors.New("permission denied")
err2 := gerror.WrapCode(gcode.New(10000, "", nil), err1, "Custom Error")
fmt.Println(err2.Error())
fmt.Println(gerror.Code(err2).Code())
// Output:
// Custom Error: permission denied
// 10000
}
func ExampleWrapCodef() {
err1 := errors.New("permission denied")
err2 := gerror.WrapCodef(gcode.New(10000, "", nil), err1, "It's %s", "Custom Error")
fmt.Println(err2.Error())
fmt.Println(gerror.Code(err2).Code())
// Output:
// It's Custom Error: permission denied
// 10000
}
NewSkip/NewSkipf
,用于创建一个自定义错误信息的error
对象,并且忽略部分堆栈信息(按照当前调用方法位置往上忽略),并增加错误参数输入。 func NewCodeSkip(code, skip int, text string) error
func NewCodeSkipf(code, skip int, format string, args ...interface{}) error
func Code(err error) gcode.Code
当给定的error
参数不带有错误码信息时,该方法返回预定义的错误码gcode.CodeNil
新闻标题:创新互联GoFrame教程:GoFrame错误码特性-错误码使用
地址分享:http://www.shufengxianlan.com/qtweb/news30/387080.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联