Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Collect ¶
Example ¶
package main
import (
"errors"
"fmt"
"github.com/xoctopus/x/misc/defers"
)
func main() {
var err error
func() {
fmt.Println("Single:")
defer func() { fmt.Println(err) }()
defer defers.Collect(func() error { return errors.New("a") }, &err)
}()
err = nil
func() {
fmt.Println("Multi:")
defer func() { fmt.Println(err) }()
defer defers.Collect(func() error { return errors.New("d") }, &err)
defer defers.Collect(func() error { return errors.New("c") }, &err)
defer defers.Collect((&closer{"b"}).Close, &err)
defer defers.Collect((&closer{"a"}).Close, &err)
}()
}
type closer struct{ name string }
func (c *closer) Close() error { return errors.New(c.name) }
Output: Single: a Multi: a b c d
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.