最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

GoFrame錯(cuò)誤處理常用方法及錯(cuò)誤碼使用示例

 更新時(shí)間:2022年06月25日 11:45:26   作者:王中陽Go  
這篇文章主要為大家介紹了GoFrame錯(cuò)誤處理常用方法及錯(cuò)誤碼使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

這篇文章將為大家介紹:GoFrame 錯(cuò)誤處理的常用方法&錯(cuò)誤碼的使用。如何自定義錯(cuò)誤對象、如何忽略部分堆棧信息、如何自定義錯(cuò)誤碼的返回、如何獲取error對象中的錯(cuò)誤碼。

錯(cuò)誤創(chuàng)建

New/Newf

用于創(chuàng)建一個(gè)自定義錯(cuò)誤信息的error對象,并包含堆棧信息。

New(text string) error
Newf(format string, args ...interface{}) error

Wrap/Wrapf

用于包裹其他錯(cuò)誤error對象,構(gòu)造成多級的錯(cuò)誤信息,包含堆棧信息。

func Wrap(err error, text string) error
func Wrapf(err error, format string, args ...interface{}) error

NewSkip/NewSkipf

用于創(chuàng)建一個(gè)自定義錯(cuò)誤信息的error對象,并且忽略部分堆棧信息(按照當(dāng)前調(diào)用方法位置往上忽略)。高級功能,一般開發(fā)者很少用得到。

func NewSkip(skip int, text string) error 
func NewSkipf(skip int, format string, args ...interface{}) error

錯(cuò)誤碼使用

錯(cuò)誤碼相關(guān)方法概覽

func NewCode(code int, text string) error
func NewCodef(code int, format string, args ...interface{}) error
func NewCodeSkip(code, skip int, text string) error
func NewCodeSkipf(code, skip int, format string, args ...interface{}) error
func WrapCode(code int, err error, text string) error
func WrapCodef(code int, err error, format string, args ...interface{}) error

NewCode/NewCodef

功能同New/Newf方法,用于創(chuàng)建一個(gè)自定義錯(cuò)誤信息的error對象,并包含堆棧信息,并增加錯(cuò)誤碼對象的輸入。

NewCode(code gcode.Code, text ...string) error
NewCodef(code gcode.Code, format string, args ...interface{}) error

示例代碼

func ExampleNewCode() {
    err := gerror.NewCode(gcode.New(101, "", nil), "My Error")
    fmt.Println(err.Error())    // My Error
    fmt.Println(gerror.Code(err))    //101
}
func ExampleNewCodef() {
    err := gerror.NewCodef(gcode.New(101, "", nil), "It's %s", "My Error")
    fmt.Println(err.Error()) //It's My Error
    fmt.Println(gerror.Code(err).Code()) //101
}

WrapCode/WrapCodef

功能同Wrap/Wrapf方法,用于包裹其他錯(cuò)誤error對象,構(gòu)造成多級的錯(cuò)誤信息,包含堆棧信息,并增加錯(cuò)誤碼參數(shù)的輸入。

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(403, "", nil), err1, "Custom Error")
    fmt.Println(err2.Error())     // Custom Error: permission denied
    fmt.Println(gerror.Code(err2).Code())    // 403
}
func ExampleWrapCodef() {
    err1 := errors.New("permission denied")
    err2 := gerror.WrapCodef(gcode.New(403, "", nil), err1, "It's %s", "Custom Error")
    fmt.Println(err2.Error())    // It's Custom Error: permission denied
    fmt.Println(gerror.Code(err2).Code())    // 403
}

NewCodeSkip/NewCodeSkipf

功能同NewSkip/NewSkipf,用于創(chuàng)建一個(gè)自定義錯(cuò)誤信息的error對象,并且忽略部分堆棧信息(按照當(dāng)前調(diào)用方法位置往上忽略),并增加錯(cuò)誤參數(shù)輸入。

func NewCodeSkip(code, skip int, text string) error
func NewCodeSkipf(code, skip int, format string, args ...interface{}) error

獲取error中的錯(cuò)誤碼接口

func Code(err error) gcode.Code

當(dāng)給定的error參數(shù)不帶有錯(cuò)誤碼信息時(shí),該方法返回預(yù)定義的錯(cuò)誤碼gcode.CodeNil

總結(jié)

通過這篇文章我們了解到使用GoFrame,如何自定義錯(cuò)誤對象、如何忽略部分堆棧信息、如何自定義錯(cuò)誤碼的返回、如何獲取error對象中的錯(cuò)誤碼。

以上就是GoFrame錯(cuò)誤處理常用方法及錯(cuò)誤碼使用示例的詳細(xì)內(nèi)容,更多關(guān)于GoFrame錯(cuò)誤處理錯(cuò)誤碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go Println和Printf的區(qū)別詳解

    Go Println和Printf的區(qū)別詳解

    這篇文章主要介紹了Go Println和Printf的區(qū)別詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go語言中g(shù)oroutine和WaitGroup的使用示例詳解

    Go語言中g(shù)oroutine和WaitGroup的使用示例詳解

    goroutine 是Go中一個(gè)輕量級的線程, 只需要一個(gè)go關(guān)鍵字就可以創(chuàng)建一個(gè)goroutine,這篇文章主要介紹了Go語言中g(shù)oroutine和WaitGroup的使用,需要的朋友可以參考下
    2023-03-03
  • Go高級特性探究之穩(wěn)定排序詳解

    Go高級特性探究之穩(wěn)定排序詳解

    Go 語言提供了 sort 包,其中最常用的一種是 sort.Slice() 函數(shù),本篇文章將為大家介紹如何使用 sort.SliceStable() 對結(jié)構(gòu)體數(shù)組的某個(gè)字段進(jìn)行穩(wěn)定排序,感興趣的可以了解一下
    2023-06-06
  • Go語言Zap庫Logger的定制化和封裝使用詳解

    Go語言Zap庫Logger的定制化和封裝使用詳解

    這篇文章主要介紹了Go語言Zap庫Logger的定制化和封裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • go語言int64整型轉(zhuǎn)字符串的實(shí)現(xiàn)

    go語言int64整型轉(zhuǎn)字符串的實(shí)現(xiàn)

    本文主要介紹了go語言int64整型轉(zhuǎn)字符串的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Golang 類型轉(zhuǎn)換的實(shí)現(xiàn)(斷言、強(qiáng)制、顯式類型)

    Golang 類型轉(zhuǎn)換的實(shí)現(xiàn)(斷言、強(qiáng)制、顯式類型)

    將一個(gè)值從一種類型轉(zhuǎn)換到另一種類型,便發(fā)生了類型轉(zhuǎn)換,在go可以分為斷言、強(qiáng)制、顯式類型轉(zhuǎn)換,本文就詳細(xì)的介紹一下這就幾種轉(zhuǎn)換方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • gorm FirstOrCreate和受影響的行數(shù)實(shí)例

    gorm FirstOrCreate和受影響的行數(shù)實(shí)例

    這篇文章主要介紹了gorm FirstOrCreate和受影響的行數(shù)實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 最新評論

    色达县| 罗平县| 鹤山市| 泸定县| 鄯善县| 扬州市| 芦溪县| 信宜市| 桃江县| 印江| 安国市| 申扎县| 区。| 司法| 涿鹿县| 清丰县| 玉屏| 湖北省| 正镶白旗| 杨浦区| 温州市| 温泉县| 三亚市| 京山县| 临安市| 策勒县| 汉川市| 鄂伦春自治旗| 富川| 平南县| 岫岩| 册亨县| 曲水县| 安泽县| 淮北市| 剑河县| 牡丹江市| 湖口县| 宜良县| 祁连县| 奎屯市|