all we'd have to do to allow you to handle exceptions globally is make this method protected and non-final:

private final void redirectToExceptionErrorPage(final Page page, final RuntimeException e) throws ServletException

that's the location that all exceptions are funneled through. it has the page and the exception.
you'd just subclass requestcycle as you probably are already doing.

we could easily add an Application method to make this easier to hook this /if it's really a
common thing people want to do for their application/.  we'd add

Application.onRuntimeException(Page page, RuntimeException e)

and call that from redirectToExceptionErrorPage().  right?

Michael Jouravlev wrote:

On 8/11/05, Phil Kulak <[EMAIL PROTECTED]> wrote:
I didn't get much input on this when I was commenting in another's
thread, so I thought I'd start a whole topic on it. Anyway, is it
planned to give the developer some way to get at thrown exceptions in
a central place and handle them? I keep coming on situations when I
need to do this, and I have no idea how to go about it.

Some examples. You've got a shopping cart and a checkout process. You
don't want the user to be able to start the checkout process with an
empty cart. My first instinct is to check for an empty cart on
construction and throw a custom exception if the cart's empty, but
since I can't get to it further up the stack, that doesn't get me
anywhere.

I don't see how this is different from validating a form. How exactly
a user would get to checkout? Either with button or link. Link should
not be a page link, it should be what JSF calls "command link".
Basically, it is the same submit action on a page, but via link. Ok,
it is not a submit, but it still should call event handler on a
current page. So, you can check for empty cart, generate error message
and redirect to same page.

Or how about if I user tries to view a bookmarked page for an object
that doesn't exist anymore? You can't draw the page without an object
to draw from, so you throw an exception. It would be nice to then show
the user some friendly message ("the object doesn't exist
anymore..."), but currently your only options are a stack trace or a
general exception message.

"Object not found" is a pretty specific exception. There should be a
app-scoped page for this. Also, each Page can define "not found"
location for itself.

Why you cannot get exception further up the stack? How about global
error handler for a start, like Struts has? Where you can define all
exceptions you want to catch globally.

Michael.


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to