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

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to