I agree with Alex, if there is an exception case that we expect either the SlingServlet or other code to handle then having a typed exception such as HttpStatusCodeException makes sense. In general I guess status codes could be done by setting the response status and we could assume that the main servlet would handle this by checking the response code. I guess it depends on if you see a non-200 code as an exception or just normal. While writing this I think I have changed my mind and am less inclined to want a specific exception, however, I would not want to set a request attribute since there is a mechanism using the response code.

-paddy

On Jan 2, 2008, at 3:25 AM, Alexander Saar wrote:

Hi all,

Felix Meschberger schrieb:
Hi,

Am Montag, den 31.12.2007, 12:37 +0100 schrieb Carsten Ziegeler:

+1 for the proposal in general and I think we should drop the
HttpStatusCodeException as it seems a little bit wired to transfer a
status code by throwing an exception. And to expect that someone will
pick it up and do the appropriate thing.


Agreed, that it is somewhat weired and strange. The idea is, that the
sling main servlet which is called to start the Sling request processing
is catching the SlingException (and its extensions) and handle it
appropriately.

I think this is not a bad solution, as it provides a simple way to
propagate errors to the Sling main servlet which in turn is responsible
for calling the error handler (correct me if I'm wrong, I'm new to the
project and code base). Another solution could be to have additional
request attributes that indicate errors occured previously in the
request processing. But I aggree with the statement that this will lead to some ugly code for checking existence of such attributes in order to
cancel further request processing.

Regarding the HttpStatusCodeException: The question is (as mentioned in
Alex blog post) if there is something you can do in reaction of an
exception case that reflects your error model. If so IMHO there should
be a special exception for that case. If not the HttpStatusCodeException is in my eyes is an appropriate solution, because it describes the error
model of the protocol that is used between server and client so the
error handler can communicate the right error to the client.

Regards,
Alex


Reply via email to