cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <>
Subject Re: error handling
Date Tue, 08 Jun 2004 10:53:41 GMT
Torsten Curdt wrote:

>>> ...What about...
>>>   <map:pipeline handle-errors="always|external|internal"/>
>>> our current behaviour would be "external".
>>> I would like to have "always" andt the "internal" option might be FS ;)
>> +1 for the declaration, looks clean enough!
> Carsten, I'd really like to takle this ASAP.
> We are currently using a *very* ugly work around.

Sorry to jump in late.

This problem and possible discussions where discussed at [1], [2] and 
follow-ups. The conclusion was that choosing to handle errors or not in 
internal pipelines could be decided either by the caller or by the 
callee depending on the use cases.

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 

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_.

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

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



Sylvain Wallez                                  Anyware Technologies 
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }

View raw message