Documentation ¶
Index ¶
- func Cause(err error) error
- func Code(err error) int
- func Current(err error) error
- func New(text string) error
- func NewCode(code int, text string) error
- func NewCodeSkip(code, skip int, text string) error
- func NewCodeSkipf(code, skip int, format string, args ...interface{}) error
- func NewCodef(code int, format string, args ...interface{}) error
- func NewSkip(skip int, text string) error
- func NewSkipf(skip int, format string, args ...interface{}) error
- func Newf(format string, args ...interface{}) error
- func Next(err error) error
- func Stack(err error) string
- func Wrap(err error, text string) error
- func WrapCode(code int, err error, text string) error
- func WrapCodeSkip(code, skip int, err error, text string) error
- func WrapCodeSkipf(code, skip int, err error, format string, args ...interface{}) error
- func WrapCodef(code int, err error, format string, args ...interface{}) error
- func WrapSkip(skip int, err error, text string) error
- func WrapSkipf(skip int, err error, format string, args ...interface{}) error
- func Wrapf(err error, format string, args ...interface{}) error
- type Error
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Code ¶
Cause returns the gerror code of current gerror. It returns -1 if it has no gerror code or it does not implements interface Code.
func Current ¶
Current creates and returns the current level gerror. It returns nil if current level gerror is nil.
func NewCode ¶
NewCode creates and returns an gerror that has gerror code and given text.
Example ¶
package main import ( "fmt" "gitee.com/KotlinToGo/pkg/gerror" ) func main() { err := gerror.NewCode(10000, "My Error") fmt.Println(err.Error()) fmt.Println(gerror.Code(err)) }
Output: My Error 10000
func NewCodeSkip ¶
NewCodeSkip creates and returns an gerror which has gerror code and is formatted from given text. The parameter <skip> specifies the stack callers skipped amount.
func NewCodeSkipf ¶
NewCodeSkipf returns an gerror that has gerror code and formats as the given format and args. The parameter <skip> specifies the stack callers skipped amount.
func NewCodef ¶
NewCodef returns an gerror that has gerror code and formats as the given format and args.
Example ¶
package main import ( "fmt" "gitee.com/KotlinToGo/pkg/gerror" ) func main() { err := gerror.NewCodef(10000, "It's %s", "My Error") fmt.Println(err.Error()) fmt.Println(gerror.Code(err)) }
Output: It's My Error 10000
func NewSkip ¶
NewSkip creates and returns an gerror which is formatted from given text. The parameter <skip> specifies the stack callers skipped amount.
func NewSkipf ¶
NewSkipf returns an gerror that formats as the given format and args. The parameter <skip> specifies the stack callers skipped amount.
func Next ¶
Next returns the next level gerror. It returns nil if current level gerror or the next level gerror is nil.
func Stack ¶
Stack returns the stack callers as string. It returns the gerror string directly if the <err> does not support stacks.
func WrapCode ¶
WrapCode wraps gerror with code and text. It returns nil if given err is nil.
Example ¶
package main import ( "errors" "fmt" "gitee.com/KotlinToGo/pkg/gerror" ) func main() { err1 := errors.New("permission denied") err2 := gerror.WrapCode(10000, err1, "Custom Error") fmt.Println(err2.Error()) fmt.Println(gerror.Code(err2)) }
Output: Custom Error: permission denied 10000
func WrapCodeSkip ¶
WrapCodeSkip wraps gerror with code and text. It returns nil if given err is nil. The parameter <skip> specifies the stack callers skipped amount.
func WrapCodeSkipf ¶
WrapCodeSkipf wraps gerror with code and text that is formatted with given format and args. It returns nil if given err is nil. The parameter <skip> specifies the stack callers skipped amount.
func WrapCodef ¶
WrapCodef wraps gerror with code and format specifier. It returns nil if given <err> is nil.
Example ¶
package main import ( "errors" "fmt" "gitee.com/KotlinToGo/pkg/gerror" ) func main() { err1 := errors.New("permission denied") err2 := gerror.WrapCodef(10000, err1, "It's %s", "Custom Error") fmt.Println(err2.Error()) fmt.Println(gerror.Code(err2)) }
Output: It's Custom Error: permission denied 10000
func WrapSkip ¶
WrapSkip wraps gerror with text. It returns nil if given err is nil. The parameter <skip> specifies the stack callers skipped amount.
Types ¶
type Error ¶
type Error struct {
// contains filtered or unexported fields
}
Error is custom gerror for additional features.
func (*Error) Current ¶
Current creates and returns the current level gerror. It returns nil if current level gerror is nil.
func (*Error) Format ¶
Format formats the frame according to the fmt.Formatter interface.
%v, %s : Print all the gerror string; %-v, %-s : Print current level gerror string; %+s : Print full stack gerror list; %+v : Print the gerror string and full stack gerror list;
func (*Error) MarshalJSON ¶
MarshalJSON implements the interface MarshalJSON for json.Marshal. Note that do not use pointer as its receiver here.