欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

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

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

New/Newf

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

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

Wrap/Wrapf

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

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

NewSkip/NewSkipf

用于創(chuàng)建一個(gè)自定義錯(cuò)誤信息的error對(duì)象,并且忽略部分堆棧信息(按照當(dāng)前調(diào)用方法位置往上忽略)。高級(jí)功能,一般開(kāi)發(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對(duì)象,并包含堆棧信息,并增加錯(cuò)誤碼對(duì)象的輸入。

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對(duì)象,構(gòu)造成多級(jí)的錯(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對(duì)象,并且忽略部分堆棧信息(按照當(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é)

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

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

相關(guān)文章

  • 深入探討Golang中如何進(jìn)行并發(fā)發(fā)送HTTP請(qǐng)求

    深入探討Golang中如何進(jìn)行并發(fā)發(fā)送HTTP請(qǐng)求

    在?Golang?領(lǐng)域,并發(fā)發(fā)送?HTTP?請(qǐng)求是優(yōu)化?Web?應(yīng)用程序的一項(xiàng)重要技能,本文探討了實(shí)現(xiàn)此目的的各種方法,文中的示例代碼講解詳細(xì),希望對(duì)大家有所幫助
    2024-01-01
  • Go語(yǔ)言并發(fā)編程之控制并發(fā)數(shù)量實(shí)現(xiàn)實(shí)例

    Go語(yǔ)言并發(fā)編程之控制并發(fā)數(shù)量實(shí)現(xiàn)實(shí)例

    這篇文章主要為大家介紹了Go語(yǔ)言并發(fā)編程之控制并發(fā)數(shù)量實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Golang設(shè)計(jì)模式中抽象工廠模式詳細(xì)講解

    Golang設(shè)計(jì)模式中抽象工廠模式詳細(xì)講解

    抽象工廠模式用于生成產(chǎn)品族的工廠,所生成的對(duì)象是有關(guān)聯(lián)的。如果抽象工廠退化成生成的對(duì)象無(wú)關(guān)聯(lián)則成為工廠函數(shù)模式。比如本例子中使用RDB和XML存儲(chǔ)訂單信息,抽象工廠分別能生成相關(guān)的主訂單信息和訂單詳情信息
    2023-01-01
  • 簡(jiǎn)單聊聊為什么說(shuō)Go語(yǔ)言字符串是不可變的

    簡(jiǎn)單聊聊為什么說(shuō)Go語(yǔ)言字符串是不可變的

    最近有讀者留言說(shuō),平時(shí)在寫代碼的過(guò)程中,是會(huì)對(duì)字符串進(jìn)行修改的,但網(wǎng)上都說(shuō) Go 語(yǔ)言字符串是不可變的,這是為什么呢,本文就來(lái)和大家簡(jiǎn)單講講
    2023-05-05
  • 淺析Go語(yǔ)言中的同步與異步處理

    淺析Go語(yǔ)言中的同步與異步處理

    在開(kāi)發(fā)過(guò)程中,當(dāng)需要同時(shí)處理多個(gè)操作時(shí),開(kāi)發(fā)者經(jīng)常面臨同步和異步兩種處理方式的選擇,下面小編就來(lái)和大家詳細(xì)介紹一下Go語(yǔ)言中的同步與異步處理吧
    2023-11-11
  • go高并發(fā)時(shí)append方法偶現(xiàn)錯(cuò)誤解決分析

    go高并發(fā)時(shí)append方法偶現(xiàn)錯(cuò)誤解決分析

    這篇文章主要為大家介紹了go高并發(fā)時(shí)append方法偶現(xiàn)錯(cuò)誤解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Go使用協(xié)程交替打印字符

    Go使用協(xié)程交替打印字符

    這篇文章主要介紹了Go使用協(xié)程交替打印字符,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • 使用golang如何優(yōu)雅的關(guān)機(jī)或重啟操作示例

    使用golang如何優(yōu)雅的關(guān)機(jī)或重啟操作示例

    這篇文章主要為大家介紹了使用golang如何優(yōu)雅的關(guān)機(jī)或重啟操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • 一文了解Go語(yǔ)言中編碼規(guī)范的使用

    一文了解Go語(yǔ)言中編碼規(guī)范的使用

    這篇文章主要介紹了一文了解Go語(yǔ)言中編碼規(guī)范的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Go語(yǔ)言題解LeetCode268丟失的數(shù)字示例詳解

    Go語(yǔ)言題解LeetCode268丟失的數(shù)字示例詳解

    這篇文章主要為大家介紹了Go語(yǔ)言題解LeetCode268丟失的數(shù)字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12

最新評(píng)論