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

Reply via email to