multi

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package multi is an error type that holds multiple errors. These errors typically originate from operations that target multiple nodes. For example, a transaction proposal with two endorsers could return a multi error type if both endorsers return errors

Example
errs := Errors{}
errs = append(errs, fmt.Errorf("peer0 failed"))
errs = append(errs, fmt.Errorf("peer1 failed"))

// Multi errors implement the standard error interface and are returned as regular errors
err := interface{}(errs).(error)

// We can extract multi errors from a standard error
errs, ok := err.(Errors)
fmt.Println(ok)

// And handle each error individually
for _, e := range errs {
	fmt.Println(e)
}
Output:

true
peer0 failed
peer1 failed

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Append

func Append(errs error, err error) error

Append error to Errors. If the first arg is not an Errors object, one will be created

func New

func New(errs ...error) error

New Errors object with the given errors. Only non-nil errors are added.

Types

type Errors

type Errors []error

Errors is used to represent multiple errors

func (Errors) Error

func (errs Errors) Error() string

Error implements the error interface to return a string representation of Errors

func (Errors) ToError

func (errs Errors) ToError() error

ToError converts Errors to the error interface returns nil if no errors are present, a single error object if only one is present

Jump to

Keyboard shortcuts

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