新聞中心
這里有您想知道的互聯網營銷解決方案
創(chuàng)新互聯GoFrame教程:GoFrame錯誤碼特性-錯誤碼使用
創(chuàng)建帶錯誤碼的error
NewCode/NewCodef
- 說明:功能同?
New/Newf?方法,用于創(chuàng)建一個自定義錯誤信息的?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
}
WrapCode/WrapCodef
- 說明:功能同?
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
}
NewCodeSkip/NewCodeSkipf
- 說明:高級方法,開發(fā)者一般很少會用到。功能同?
NewSkip/NewSkipf?,用于創(chuàng)建一個自定義錯誤信息的?error?對象,并且忽略部分堆棧信息(按照當前調用方法位置往上忽略),并增加錯誤參數輸入。 - 格式:
func NewCodeSkip(code, skip int, text string) error
func NewCodeSkipf(code, skip int, format string, args ...interface{}) error
獲取error中的錯誤碼接口
func Code(err error) gcode.Code當給定的?error?參數不帶有錯誤碼信息時,該方法返回預定義的錯誤碼?gcode.CodeNil?
網頁題目:創(chuàng)新互聯GoFrame教程:GoFrame錯誤碼特性-錯誤碼使用
當前路徑:http://m.fisionsoft.com.cn/article/djhgjjo.html


咨詢
建站咨詢
