1 scheme code (+ 1 (/ 1 0) 3)
2 scheme comment ; => A divide by zero error is raised
4 scheme code (with-failure-continuation
5 scheme code (lambda (error-record error-k)
7 scheme code (lambda () (+ 1 (/ 1 0) 3)))
8 scheme comment ; => The symbol 'error
10 scheme code (with-failure-continuation
11 scheme code (lambda (error-record error-k)
12 scheme code (error-k 2))
13 scheme code (lambda () (+ 1 (/ 1 0) 3)))
16 scheme code (with-failure-continuation
17 scheme code (lambda (error-record error-k)
18 scheme code (throw error-record error-k))
19 scheme code (lambda () (+ 1 (/ 1 0) 3)))
20 scheme comment ; => A divide by zero error is raised
22 scheme code (with-failure-continuation
23 scheme code (lambda (error-record error-k)
24 scheme code (throw (make-error '/ "could not perform the division.") error-k))
25 scheme code (lambda () (+ 1 (/ 1 0) 3)))
26 scheme comment ; => An error is raised: Error in /: could not perform the division.
28 scheme code (with-failure-continuation
29 scheme code (lambda (error-record error-k)
30 scheme code (error 'example-function "could not evaluate the expression."))
31 scheme code (lambda () (+ 1 (/ 1 0) 3)))
32 scheme comment ; => An error is raised: Error in example-function: could not evaluate the expression.