// Copyright GoFrame Author(https://goframe.org). All Rights Reserved. // // This Source Code Form is subject to the terms of the MIT License. // If a copy of the MIT was not distributed with this file, // You can obtain one at https://github.com/gogf/gf. package gerror_test import ( "errors" "fmt" "github.com/gogf/gf/v3/errors/gcode" "github.com/gogf/gf/v3/errors/gerror" ) 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 } 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 } func ExampleEqual() { err1 := errors.New("permission denied") err2 := gerror.New("permission denied") err3 := gerror.NewCode(gcode.CodeNotAuthorized, "permission denied") fmt.Println(gerror.Equal(err1, err2)) fmt.Println(gerror.Equal(err2, err3)) // Output: // true // false } func ExampleIs() { err1 := errors.New("permission denied") err2 := gerror.Wrap(err1, "operation failed") fmt.Println(gerror.Is(err1, err1)) fmt.Println(gerror.Is(err2, err2)) fmt.Println(gerror.Is(err2, err1)) fmt.Println(gerror.Is(err1, err2)) // Output: // true // true // true // false } func ExampleCode() { err1 := gerror.NewCode(gcode.CodeInternalError, "permission denied") err2 := gerror.Wrap(err1, "operation failed") fmt.Println(gerror.Code(err1)) fmt.Println(gerror.Code(err2)) // Output: // 50:Internal Error // 50:Internal Error } func ExampleHasCode() { err1 := gerror.NewCode(gcode.CodeInternalError, "permission denied") err2 := gerror.Wrap(err1, "operation failed") fmt.Println(gerror.HasCode(err1, gcode.CodeOK)) fmt.Println(gerror.HasCode(err2, gcode.CodeInternalError)) // Output: // false // true }