Return-Path: Delivered-To: apmail-xml-cocoon-dev-archive@xml.apache.org Received: (qmail 76570 invoked by uid 500); 11 Apr 2003 08:34:00 -0000 Mailing-List: contact cocoon-dev-help@xml.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: cocoon-dev@xml.apache.org Delivered-To: mailing list cocoon-dev@xml.apache.org Received: (qmail 76499 invoked from network); 11 Apr 2003 08:33:59 -0000 Received: from mailegw2.basf-ag.de (141.6.2.84) by daedalus.apache.org with SMTP; 11 Apr 2003 08:33:59 -0000 Received: from mailigw2.fw.basf-ag.de (mailigw2.fw.basf-ag.de [10.8.129.50]) by mailegw2.basf-ag.de (8.12.9/8.12.9) with ESMTP id h3B8b5eu022949 for ; Fri, 11 Apr 2003 10:37:05 +0200 Received: from ntlu2221.rz-c007-j650.basf-ag.de (ntlu2221.rz-c007-j650.basf-ag.de [10.4.18.89]) by mailigw2.fw.basf-ag.de (8.12.9/8.12.9) with ESMTP id h3B8Tbmk023826 for ; Fri, 11 Apr 2003 10:29:37 +0200 Subject: Strange behaviour of unhandled errors To: cocoon-dev@xml.apache.org X-Mailer: Lotus Notes Release 5.0.8 June 18, 2001 Message-ID: From: juergen.seitz@basf-it-services.com Date: Fri, 11 Apr 2003 10:34:11 +0200 X-MIMETrack: Serialize by Router on EUROPE-GW01/EUROPE/BASF(Release 5.0.9a |January 7, 2002) at 11.04.2003 10:34:12 MIME-Version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: quoted-printable X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Hi, we are currently implementing hierarchy for error handlers on the level= s map:pipelines and map:pipeline (see http://marc.theaimsgroup.com/?l=3Dxml-cocoon-dev&m=3D104970554907551&w=3D= 2). We noticed that the treeprocessor acts in a strange way. Suppose you have = the following sitemap: ... ... ... ... ... Now in blah an exception exc1 occurs. The selector in the error handler= does not match to it and therefore the corresponding treeprocessor node= returns "false". This causes the sitemap to react as if no match has be= en found and therefore pipeline * is executed later!! This causes an excep= tion "Generator already set. You can only select one Generator (file)" Furthermore if pipeline * does not exist, a ResourceNotFoundException w= ould be thrown, completely obscuring what really happened. We think that this is a bug and therefore would like to fix it. Further= more the second handler (in the hierarchy above) will not be called and hand= le exc1, since the treeprocessor does not know any more that an exception= has occured (That's why we need the fix for the hierarchy ;-) ). We propose to implement the following behaviour: If an error handler is= not able to handle the error (so the HandleErrorsNode returns "false") the exception is rethrown instead of simply forwarding the "false" and can = then be handled by other handlers in the hierarchy. What do you think? Regards, Bj=F6rn and J=FCrgen.=