Howdy,
I know I'm late to the party on this (having missed *both* formal
comment rounds), but I'm hoping someone can clear up a design decision
for me.
The current draft of R6RS suggests the procedures raise and
raise-continuable.
My question: why make it the responsibility of the raising code to
decide if an exception is continuable. Isn't that up to the handler?
Say, I have some code which establishes a database connection. If the
connection fails, should I make the raise be continuable or not? Under
most cases, I'd say that it isn't a continuable exception. However, a
programmer may wish to handle the exception by opening an alternate
database connection, in which case the exception handler is
continuable.
Why not handle continuable exceptions the way SISC does, that is, error
handlers are invoked with the raised object, and a continuation
procedure. If the handler wishes, it can recover from the exception by
using the continuation.
Perhaps I'm just missing the goals of raise vs. raise-continuable. Can
anyone expand on this? When might you choose one or the other?
-Ben
--
Ben Simon
My blog: http://benjisimon.blogspot.com
Got a software idea? http://i2x.blogspot.com
Received on Sun Jul 15 2007 - 20:54:15 UTC