cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pier Fumagalli <p...@betaversion.org>
Subject Re: svn commit: rev 56181 - in cocoon/whiteboard/kernel: . src src/org src/org/apache src/org/apache/cocoon src/org/apache/cocoon/kernel src/org/apache/cocoon/kernel/configuration src/org/apache/cocoon/kernel/description src/org/apache/cocoon/kernel/runtime src/org/apache/cocoon/kernel/startup
Date Mon, 01 Nov 2004 11:16:21 GMT
On 1 Nov 2004, at 09:20, Ugo Cei wrote:

> Il giorno 01/nov/04, alle 03:16, Pier Fumagalli ha scritto:
>
>> Just finished writing, please, no comments as of yet... It will MOST 
>> DEFINITELY not work, as it's something put together over a couple of 
>> lazy afternoons while the girlfriend was at some extremely odd 
>> park/garden in South London.
>
> If you didn't want any comments, you shouldn't have committed it ;-)
>
> I did a cursory examination of the code, and without even trying to 
> understand how it is supposed to work, I have just one point to make: 
> exceptions like ConfigurationException should *really* be unchecked, 
> as there is typically no other way to react to a miisconfiguration 
> than fail as early as possible. How could you recover from it?
>
> Furthermore, all exceptions should inherit from a common root 
> exception class. This simplifies exception handling for clients 
> wanting to  deal with them, as they are not forced to write a catch 
> clause for every possible exception, but can just catch the root one.

ConfigurationException and all the o.a.c.kernel.configuration package 
are internal to the kernel implementation itself. They will not be 
exposed to blocks. It's a checked extension because the kernel 
internals _must_ react to a misconfiguration.

The only exception which could be exposed to the block is 
KernelException (another unchecked exception) which gets thrown by the 
Kernel interface in the lookup() method. The Kernel interface is the 
only one who MIGHT be used by a block when the block wants to have 
access to the kernel internals (things like monitors, or weird block 
who need to have access to all deployed block instances).

Maybe KernelException should be unchecked, well, done anyway!

	Pier


Mime
View raw message