package main import ( "fmt" "log" "strconv" ) type errConsumer struct { err error } func (e *errConsumer) Consume(err error) { if e.err == nil && err != nil { e.err = err } } func main() { var e errConsumer a, err := strconv.Atoi("123") e.Consume(err) b, err := strconv.Atoi("234a") e.Consume(err) c, err := strconv.Atoi("345") e.Consume(err) if e.err != nil { log.Fatal(e.err) } fmt.Println("Hello, playground", a, b, c) }