CATCH and OOPS |
|
(define (add-up l)
(if (null? l)
0
(+ (car l) (add-up (cdr l)))))
(define (average values)
(catch Divide-by-Zero
(divide (add-up values) (length values))
0))
(define (divide x y)
(if (zero? y)
(oops divide-by-zero)
(/ x y)))
(average (list 10 20)) ==> 15
(average '()) ==> 0
| Jim Miller |