I haven't rigorously studied the problem yet, but my general feeling is with 
Tim -- checked exceptions in high level API.

In our current WebDAV and VFS stack, we have exception types that map 
straightforwardly to likely resource-related HTTP error status codes 
(NotFoundException, ConflictException...).  It is much easier, more testable, 
more maintainable, and more readable to simply throw ConflictException wherever 
a condition is detected that causes 409 Conflict status, than to do a lot of 
error catching and status propagation locally in the code.

With the extensive modeling of other HTTP and REST semantics to high level 
concepts in Restlet, I think it would be quite nice to supply a family of 
checked exception types like this deriving from, say, RestletException, and 
provide a means for turning these into the correct low level concepts.

It's not like we can't supply our own (which we are doing right now) but it 
seems like a bit of valuable elegance the project could provide.

- Rob


----- Original Message ----- 
From: "Tim Peierls" <[EMAIL PROTECTED]> 
To: [email protected] 
Sent: Wednesday, November 28, 2007 8:10:09 AM (GMT-0500) America/New_York 
Subject: Re: Exceptions in general 

On Nov 28, 2007 5:38 AM, Stephan Koops < [EMAIL PROTECTED] > wrote: 



I agree fully with Paul. Exceptions are the modern way to handle things, 
that don't are the normal way. The same thing should be possible for 
doPut(..), doGet(..), getRepresentation(.) and so on on subclasses of 
org.restlet.resource.Resource. 

I agree only partly. I do *not* think the lower-level Handler API should work 
in terms of exceptions, but I do think the higher-level Resource API should 
provide a standard way to map checked exceptions (perhaps only 
Restlet-specific) back to the lower-level handling. 

--tim 

Reply via email to