Hey Bob,

Thanks for th response. I have been playing around with a custom errorpage, but apparently you *have* to subclass Click's ErrorPage in order to make it work. How do I integrate this page with my current template?

I have a TemplatePage class that will take care of layout and stuff, and I want my error page to fit right in the existing layout. But I cannot let my errorpage extends TemplatePage because of the before mentioned restriction.

Is it an idea to make ErrorPage an interface instead of a class with, let's say /void setError( Throwable t)/ so any page can function as an ErrorPage?

Cheers

WarnerJan


On 10/02/2009 12:44 AM, Bob Schellink wrote:
Hi WarnerJan,

All RuntimeExceptions thrown by the application will be handled by Click's ErrorPage. So how about wrapping the parse code in a try/catch block and rethrow a RuntimeException or custom exception e.g: SecurityException/TamperException and let Click ErrorPage display the message? You can also create your own ErrorPage subclass to customize error handling if you're not happy with the default behavior.

If you're application is i18n aware you can lookup the error messages from the ErrorPage's property file.

kind regards

bob

WarnerJan Veldhuis wrote:
Hello list,

I have a class that extends RequestTypeConverter. The issue that rises, is that I cannot handle errors very well. For example, I have this URL: /Portal/publish.htm?configuration=1. In order to get the VO, I need to parse the value. This would be a String containing "1". Integer.parseInt( (String) value) will get me an int containing 1.

But if people start messing with the URL, and for example enter configuration=blah, parseInt will throw a ParseException. What do I do with that Exception? Rethrow? Catch, and then what? It's not clear how to handle errors here.

Same goes for semantic errors. If they change the number from 1 to 42, they might not have access to that particular VO. The backend will throw an InsufficientRightsException, and what do I do with that?

Thanks for thinking along :)

Cheers,

WarnerJan Veldhuis

Reply via email to