This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

XALAN: exceptions from extension functions


We're using extension functions in Xalan 1.2.2.  We've noticed that
exceptions that are thrown within extension functions are lost.  Looking
into the code I notice that it happily eats the exception, in fact has a
commented out XPathException.  Is there any reason for this?  Some
standards thing where it isn't cool to throw an exception from an
extension function?
 
Thanks,
 
Keith McNeill
mcneill@iconverse.com <mailto:mcneill@iconverse.com> 
 
The relevant code.....
 
org.apache.xalan.xpath.XSLTJavaClassEngine.callFunction:
 
    try
    {
 
    ........
     
      if(isJava)
        return callJava(javaObject, funcName, argArray, methodKey);
      else
        return e.call (null, funcName, argArray);
    }
    catch (Exception e) 
    {
      // throw new XPathException ("Error with extension in
callFunction.", e);
      String msg = e.getMessage();
      if(null != msg)
      {
        if(msg.startsWith("Stopping after fatal error:"))
        {
          msg = msg.substring("Stopping after fatal error:".length());
        }
        System.out.println("Call to extension function failed: "+msg);
      }
      else
      {
        throw new XPathProcessorException ("Extension not found");
      }
    }

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]