...

Package errorsx

import "github.com/ory/x/errorsx"
Overview
Index

Overview ▾

func Cause

func Cause(err error) error

Cause returns the underlying cause of the error, if possible. An error value has a cause if it implements the following interface:

type causer interface {
       Cause() error
}

If the error does not implement Cause, the original error will be returned. If the error is nil, nil will be returned without further investigation.

func WithStack

func WithStack(err error) error

WithStack mirror pkg/errors.WithStack but does not wrap existing stack traces.

type DebugCarrier

DebugCarrier can be implemented by an error to support error contexts.

type DebugCarrier interface {
    // Debug returns debugging information for the error, if applicable.
    Debug() string
}

type DetailsCarrier

DetailsCarrier can be implemented by an error to support error contexts.

type DetailsCarrier interface {
    // Details returns details on the error, if applicable.
    Details() map[string]interface{}
}

type ReasonCarrier

ReasonCarrier can be implemented by an error to support error contexts.

type ReasonCarrier interface {
    // Reason returns the reason for the error, if applicable.
    Reason() string
}

type RequestIDCarrier

RequestIDCarrier can be implemented by an error to support error contexts.

type RequestIDCarrier interface {
    // RequestID returns the ID of the request that caused the error, if applicable.
    RequestID() string
}

type StackTracer

type StackTracer interface {
    StackTrace() errors.StackTrace
}

type StatusCarrier

StatusCarrier can be implemented by an error to support error contexts.

type StatusCarrier interface {
    // ID returns the error id, if applicable.
    Status() string
}

type StatusCodeCarrier

StatusCodeCarrier can be implemented by an error to support setting status codes in the error itself.

type StatusCodeCarrier interface {
    // StatusCode returns the status code of this error.
    StatusCode() int
}