That seems to be the most elegant solution.
-Igor
 

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf 
> Of Jonathan Locke
> Sent: Thursday, August 11, 2005 4:54 PM
> To: [email protected]
> Subject: Re: [Wicket-develop] Let's talk about exceptions.
> 
> 
> the thing that's missing from it is that you can't stop the 
> default handling from happening.
> 
> maybe it should return a Page to redirect to.  if you return 
> null, then wicket redirects to its own Page...
> 
> Igor Vaynberg wrote:
> 
> >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
> >
> >  
> >
> 
> 
> -------------------------------------------------------
> 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