[racket] raise-ing an exception inside prompt

From: Keiko Nakata (keiko at kurims.kyoto-u.ac.jp)
Date: Wed Dec 22 11:56:56 EST 2010


How should I understand this behavior?

(with-handlers ([(lambda (_) #t) (lambda (_) (print "exit"))])
  (print (+ (prompt (print "hi") (raise 3) (print "bye")) 10)))

prints "hi" then "exit", whereas

(+ (prompt (print "hi") (raise 3) (print "bye")) 10)

prints "hi", then I got an uncaught exception, followed by type error
of adding <void> and 10.

Btw, where can I find the source code around exceptions, 
e.g., raise and with-handlers?


Posted on the users mailing list.