Source File
wrap.go
Belonging Package
golang.org/x/xerrors
// Copyright 2018 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package xerrorsimport// A Wrapper provides context around another error.type Wrapper interface {// Unwrap returns the next error in the error chain.// If there is no next error, Unwrap returns nil.Unwrap() error}// Opaque returns an error with the same error formatting as err// but that does not match err and cannot be unwrapped.func ( error) error {return noWrapper{}}type noWrapper struct {error}func ( noWrapper) ( Printer) ( error) {if , := .error.(Formatter); {return .FormatError()}.Print(.error)return nil}// Unwrap returns the result of calling the Unwrap method on err, if err implements// Unwrap. Otherwise, Unwrap returns nil.//// Unwrap only calls a method of the form "Unwrap() error".// In particular Unwrap does not unwrap errors returned by [errors.Join].//// Deprecated: As of Go 1.13, this function simply calls [errors.Unwrap].func ( error) error { return errors.Unwrap() }// Is reports whether any error in err's tree matches target.//// The tree consists of err itself, followed by the errors obtained by repeatedly// calling its Unwrap() error or Unwrap() []error method. When err wraps multiple// errors, Is examines err followed by a depth-first traversal of its children.//// An error is considered to match a target if it is equal to that target or if// it implements a method Is(error) bool such that Is(target) returns true.//// An error type might provide an Is method so it can be treated as equivalent// to an existing error. For example, if MyError defines//// func (m MyError) Is(target error) bool { return target == fs.ErrExist }//// then Is(MyError{}, fs.ErrExist) returns true. See [syscall.Errno.Is] for// an example in the standard library. An Is method should only shallowly// compare err and the target and not call [Unwrap] on either.//// Deprecated: As of Go 1.13, this function simply calls [errors.Is].func (, error) bool { return errors.Is(, ) }// As finds the first error in err's tree that matches target, and if one is found,// sets target to that error value and returns true. Otherwise, it returns false.//// The tree consists of err itself, followed by the errors obtained by repeatedly// calling its Unwrap() error or Unwrap() []error method. When err wraps multiple// errors, As examines err followed by a depth-first traversal of its children.//// An error matches target if the error's concrete value is assignable to the value// pointed to by target, or if the error has a method As(any) bool such that// As(target) returns true. In the latter case, the As method is responsible for// setting target.//// An error type might provide an As method so it can be treated as if it were a// different error type.//// As panics if target is not a non-nil pointer to either a type that implements// error, or to any interface type.//// Deprecated: As of Go 1.13, this function simply calls [errors.As].func ( error, any) bool { return errors.As(, ) }
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |