cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Torsten Curdt <tcu...@vafer.org>
Subject Re: error handling
Date Tue, 08 Jun 2004 11:29:17 GMT
> Sorry to jump in late.

Thanks for jumping in at all :)

> There's a technical difficulty, however, as internal requests are 
> handled differently than external ones when it comes to handling errors 
> occuring during pipeline execution (not during pipeline building).
> - pipelines for external requests are executed as soon as the pipeline 
> is ended, i.e. in the map:serialize statement, hence under control of 
> the treeprocessor
> - pipelines for internal requests are executed when getInputStream() or 
> toSAX() is called on the "cocoon:" source, out of the control of the 
> treeprocessor.

Ok, but isn't the "cocoon:" source going back to treeprocessor after
all? Or does it just setup the pipelines? I thought every request is
goint through the TP.

...or who is passing the request to the pipeline(s)?

> So we can add add handle-errors="always|external|internal" and 
> "?cocoon:handle-errors=true", but it will handle errors occuring during 
> the _building_ of the pipeline, and not during its _execution_.

That's not what I am after. It does not help for error handling
on aggregation. We should aim for the execution time.

> Handling errors occuring during the execution of internal requests would 
> require some not so innocent changes in the pipeline machinery [3].

Well, IMHO this is major flaw and should be tackled.
No matter if we need to change something or not. I
think the pipeline machinery is so deep core that
probably not to many people would notice anyway.

Don't know... but maybe it would be possible to
move the error handling further down to the pipeline
level? If we are able to add that to the Abstract...
classes even less people would be affected. But
I have no clue if that's possible at all.

Especially if we don't want to mix concerns.

> But we can of course go one step at a time and start by catching 
> pipeline build-time exceptions.

Not sure if that's worth the effort.

I'd propose to change what needs to be changed.

cheers
--
Torsten

Mime
View raw message