errors

package
v0.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2025 License: UNKNOWN, Apache-2.0, UNKNOWN not legal advice Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Cause

func Cause(err error) error

Types

type Error

type Error interface {
	Error() string
	Stacktrace() Error
	Trace(offset int, format string, args ...any) Error
	Data() any
}

Usage with arbitrary error data:

```go

// Error construction
type MyError struct{}
var err1 error = NewWithData(MyError{}, "my message")
...
// Wrapping
var err2 error  = Wrap(err1, "another message")
if (err1 != err2) { panic("should be the same")
...
// Error handling
switch err2.Data().(type){
	case MyError: ...
    default: ...
}

```

func New

func New(format string, args ...any) Error

New Error with formatted message. The Error's Data will be a FmtError type.

func NewWithData

func NewWithData(data any) Error

New Error with specified data.

func Wrap

func Wrap(cause any, msg string) Error

func Wrapf

func Wrapf(cause any, format string, args ...any) Error

type FmtError

type FmtError struct {
	// contains filtered or unexported fields
}

FmtError is the data type for New() (e.g. New().Data().(FmtError)) Theoretically it could be used to switch on the format string.

```go

// Error construction
var err1 error = New("invalid username %v", "BOB")
var err2 error = New("another kind of error")
...
// Error handling
switch err1.Data().(cmn.FmtError).Format() {
	case "invalid username %v": ...
	case "another kind of error": ...
    default: ...
}

```

func (FmtError) Error

func (fe FmtError) Error() string

func (FmtError) Format

func (fe FmtError) Format() string

func (FmtError) String

func (fe FmtError) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL