There is already a RequestCycle.onRuntimeException(final Page page, final RuntimeException e) where you can handle exceptions globally. Why introduce extra complexity?
-Igor > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf > Of Jonathan Locke > Sent: Thursday, August 11, 2005 4:45 PM > To: [email protected] > Subject: Re: [Wicket-develop] Let's talk about exceptions. > > > 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 > > > ------------------------------------------------------- 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
