errdefs

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2024 License: Apache-2.0 Imports: 2 Imported by: 496

README

errdefs

A Go package for defining and checking common containerd errors.

Project details

errdefs is a containerd sub-project, licensed under the Apache 2.0 license. As a containerd sub-project, you will find the:

information in our containerd/project repository.

Documentation

Overview

Package errdefs defines the common errors used throughout containerd packages.

Use with fmt.Errorf to add context to an error.

To detect an error class, use the IsXXX functions to tell whether an error is of a certain type.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnknown            = errUnknown{}
	ErrInvalidArgument    = errInvalidArgument{}
	ErrNotFound           = errNotFound{}
	ErrAlreadyExists      = errAlreadyExists{}
	ErrPermissionDenied   = errPermissionDenied{}
	ErrResourceExhausted  = errResourceExhausted{}
	ErrFailedPrecondition = errFailedPrecondition{}
	ErrConflict           = errConflict{}
	ErrNotModified        = errNotModified{}
	ErrAborted            = errAborted{}
	ErrOutOfRange         = errOutOfRange{}
	ErrNotImplemented     = errNotImplemented{}
	ErrInternal           = errInternal{}
	ErrUnavailable        = errUnavailable{}
	ErrDataLoss           = errDataLoss{}
	ErrUnauthenticated    = errUnauthorized{}
)

Definitions of common error types used throughout containerd. All containerd errors returned by most packages will map into one of these errors classes. Packages should return errors of these types when they want to instruct a client to take a particular action.

These errors map closely to grpc errors.

Functions

func IsAborted added in v0.2.0

func IsAborted(err error) bool

IsAborted returns true if an operation was aborted.

func IsAlreadyExists

func IsAlreadyExists(err error) bool

IsAlreadyExists returns true if the error is due to an already existing metadata item

func IsCanceled

func IsCanceled(err error) bool

IsCanceled returns true if the error is due to `context.Canceled`.

func IsConflict added in v0.2.0

func IsConflict(err error) bool

IsConflict returns true if an operation could not proceed due to a conflict.

func IsDataLoss added in v0.2.0

func IsDataLoss(err error) bool

IsDataLoss returns true if data during an operation was lost or corrupted

func IsDeadlineExceeded

func IsDeadlineExceeded(err error) bool

IsDeadlineExceeded returns true if the error is due to `context.DeadlineExceeded`.

func IsFailedPrecondition

func IsFailedPrecondition(err error) bool

IsFailedPrecondition returns true if an operation could not proceed due to the lack of a particular condition

func IsInternal added in v0.2.0

func IsInternal(err error) bool

IsInternal returns true if the error returns to an internal or system error

func IsInvalidArgument

func IsInvalidArgument(err error) bool

IsInvalidArgument returns true if the error is due to an invalid argument

func IsNotFound

func IsNotFound(err error) bool

IsNotFound returns true if the error is due to a missing object

func IsNotImplemented

func IsNotImplemented(err error) bool

IsNotImplemented returns true if the error is due to not being implemented

func IsNotModified added in v0.2.0

func IsNotModified(err error) bool

IsNotModified returns true if an operation could not proceed due to an object not modified from a previous state.

func IsOutOfRange added in v0.2.0

func IsOutOfRange(err error) bool

IsOutOfRange returns true if an operation could not proceed due to data being out of the expected range.

func IsPermissionDenied added in v0.2.0

func IsPermissionDenied(err error) bool

IsPermissionDenied returns true if the error is due to permission denied or forbidden (403) response

func IsResourceExhausted added in v0.2.0

func IsResourceExhausted(err error) bool

IsResourceExhausted returns true if the error is due to a lack of resources or too many attempts.

func IsUnauthorized added in v0.2.0

func IsUnauthorized(err error) bool

IsUnauthorized returns true if the error indicates that the user was unauthenticated or unauthorized.

func IsUnavailable

func IsUnavailable(err error) bool

IsUnavailable returns true if the error is due to a resource being unavailable

func IsUnknown added in v0.2.0

func IsUnknown(err error) bool

IsUnknown returns true if the error is due to an unknown error, unhandled condition or unexpected response.

func Resolve added in v0.2.0

func Resolve(err error) error

Resolve returns the first error found in the error chain which matches an error defined in this package or context error. A raw, unwrapped error is returned or ErrUnknown if no matching error is found.

This is useful for determining a response code based on the outermost wrapped error rather than the original cause. For example, a not found error deep in the code may be wrapped as an invalid argument. When determining status code from Is* functions, the depth or ordering of the error is not considered.

The search order is depth first, a wrapped error returned from any part of the chain from `Unwrap() error` will be returned before any joined errors as returned by `Unwrap() []error`.

Types

This section is empty.

Directories

Path Synopsis
pkg module

Jump to

Keyboard shortcuts

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