| // +build ignore,OMIT | |
| package main | |
| import "fmt" | |
| func div(n, d int) (q, r int, err error) { | |
| if d == 0 { | |
| err = fmt.Errorf("%d/%d: divide by zero", n, d) | |
| return | |
| } | |
| return n / d, n % d, nil | |
| } | |
| func main() { | |
| var failures int | |
| f := func(n, d int) { // HL | |
| if q, r, err := div(n, d); err != nil { | |
| fmt.Println(err) | |
| failures++ // HL | |
| } else { | |
| fmt.Printf("%d/%d = %d leaving %d\n", n, d, q, r) | |
| } | |
| } | |
| f(4, 3) | |
| f(3, 0) | |
| fmt.Println("failures:", failures) | |
| } |