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 | ![]() |