continuable exceptions added by iterrogo on Fri Sep 5 18:24:56 2014
(define (test) (let ((old-handler (current-exception-handler))) (with-exception-handler (lambda (exn) (cond (((condition-predicate 'bad-type) exn) (print "error") (print "0: abort") (print "1: enter value") (if (= (read) 0) (old-handler exn) (begin (display "enter new value: ") (read)))) (else (old-handler exn)))) (lambda () (let ((a 'x)) (+ 1 (if (number? a) a (signal (make-property-condition 'bad-type 'bar 'baz))))))))) #;1> (test) error 0: abort 1: enter value 1 enter new value: 6 7