W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
NewOption(option Option) error
func ExampleNewOption() {
err := gerror.NewOption(gerror.Option{
Text: "this feature is disabled in this storage",
Code: gcode.CodeNotSupported,
})
}
通過以上示例我們可以看到,通過?%+v
?的打印格式可以打印出完整的堆棧信息,當(dāng)然?gerror.Error
?對(duì)象支持多種fmt格式:
格式符 | 輸出內(nèi)容 |
?%v ,%s ? |
打印所有的層級(jí)錯(cuò)誤信息,構(gòu)成完成的字符串返回,多個(gè)層級(jí)使用?: ?拼接 |
?%-v ?,?%-s ? |
打印當(dāng)前層級(jí)的錯(cuò)誤信息,返回字符串 |
?%+s ? |
打印完整的堆棧信息列表 |
?%+v ? |
打印所有的層級(jí)錯(cuò)誤信息字符串,以及完整的堆棧信息,等同于?%s\n%+s ? |
使用示例:
package main
import (
"errors"
"fmt"
"github.com/gogf/gf/v2/errors/gerror"
)
func main() {
var err error
err = errors.New("sql error")
err = gerror.Wrap(err, "adding failed")
err = gerror.Wrap(err, "api calling failed")
fmt.Printf(" %%s: %s\n", err)
fmt.Printf("%%-s: %-s\n", err)
fmt.Println("%+s: ")
fmt.Printf("%+s\n", err)
}
// Output:
// %s: api calling failed: adding failed: sql error
// %-s: api calling failed
// %+s:
// 1. api calling failed
// 1). main.main
// /Users/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/.example/other/test.go:14
// 2. adding failed
// 1). main.main
// /Users/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/.example/other/test.go:13
// 3. sql error
?glog
?日志管理模塊天然支持對(duì)?gerror
?錯(cuò)誤堆棧打印支持,這種支持不是強(qiáng)耦合性的,而是通過?fmt
?格式化打印接口支持的。
使用示例:
package main
import (
"errors"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/errors/gerror"
)
func main() {
var err error
err = errors.New("sql error")
err = gerror.Wrap(err, "adding failed")
err = gerror.Wrap(err, "api calling failed")
g.Log().Printf("%+v", err)
}
// Output:
// 2020-10-17 15:22:26.793 api calling failed: adding failed: sql error
// 1. api calling failed
// 1). main.main
// /Users/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/.example/other/test.go:14
// 2. adding failed
// 1). main.main
// /Users/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/.example/other/test.go:13
// 3. sql error
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: