Source File
errors.go
Belonging Package
fmt
// 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 fmtimport ()// Errorf formats according to a format specifier and returns the string as a// value that satisfies error.//// If the format specifier includes a %w verb with an error operand,// the returned error will implement an Unwrap method returning the operand.// If there is more than one %w verb, the returned error will implement an// Unwrap method returning a []error containing all the %w operands in the// order they appear in the arguments.// It is invalid to supply the %w verb with an operand that does not implement// the error interface. The %w verb is otherwise a synonym for %v.func ( string, ...any) error {:= newPrinter().wrapErrs = true.doPrintf(, ):= string(.buf)var errorswitch len(.wrappedErrs) {case 0:= errors.New()case 1::= &wrapError{msg: }.err, _ = [.wrappedErrs[0]].(error)=default:if .reordered {slices.Sort(.wrappedErrs)}var []errorfor , := range .wrappedErrs {if > 0 && .wrappedErrs[-1] == {continue}if , := [].(error); {= append(, )}}= &wrapErrors{, }}.free()return}type wrapError struct {msg stringerr error}func ( *wrapError) () string {return .msg}func ( *wrapError) () error {return .err}type wrapErrors struct {msg stringerrs []error}func ( *wrapErrors) () string {return .msg}func ( *wrapErrors) () []error {return .errs}
![]() |
The pages are generated with Golds v0.7.6. (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. |