cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler" <cziege...@s-und-n.de>
Subject RE: [RT]: InputModules interfaces
Date Tue, 08 Oct 2002 08:39:51 GMT

Sylvain Wallez wrote:
> >>But why throwing a ProcessingException ? Simply throwing Exception would
> >>avoid exception cascading (I hate these never ending stacktraces) and
> >>better cope with the variety of implementations.
> >>
> >>
> >>
> >Valid question...now the question is: where do you want to handle the
> >exception?
> >
>
> Back to the exception handling stragegy ;-)
>
Yuppy!

> AFAIK, exceptions are handled in Cocoon in two places : in
> <map:handle-errors> and in CocoonServlet. As discussed recently,
> everywhere else they should just be propagated. And propagating means
> cascading if the exception you catch doesn't match one of the exception
> types you're declaring to throw.
>
> Now what is the semantic added value of "ProcessingException" compared
> to "Exception" ? The javadoc states "This exception is thrown every time
> there is a problem in processing a request". And Cocoon does nothing
> else than processing a request !
>
> So ProcessingException doesn't IMHO bring much more information than a
> standard Exception. The only added value is that ProcessingException
> _should_ be an indication of where the problem occured, and in that case
> its use should be reserved to pipeline-related classes. If you look at
> Pipeline and Generator, they do throw a ProcessingException. Action does
> not and throws an Exception.
>
> All this to say that I don't like much this ProcessingException that
> doesn't say much and often forces cascading :-)
>
But if you have a method indicating that it throws a ProcessingException
and it calls a method which simply throws Exception than you have to
do something like this:
try {
    inputmodule.method();
} catch (ProcessingException pe) {
    // rethrow
    throw pe;
} catch (Exception e) {
    throw new ProcessingException(e);
}

And there are some important (= high level) classes which indicate
to throw ProcessingException - that's all.

Apart from that just Exception is too specific for me, but I guess
that's my personal problem here.

Ok, you say "Exception", I say "ProcessingException" - the next one
in this thread apart from us two can decide which one to use :)

Carsten


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message