geirm       01/04/18 13:43:15

  Modified:    src/java/org/apache/velocity/runtime/parser/node
                        ASTReference.java
  Log:
  Noticed that in a #set(), a user's method could thrown an exception and we
  wouldn't catch and wrap.  Whoops.
  
  Revision  Changes    Path
  1.25      +15 -1     
jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTReference.java
  
  Index: ASTReference.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTReference.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- ASTReference.java 2001/04/18 20:28:11     1.24
  +++ ASTReference.java 2001/04/18 20:43:15     1.25
  @@ -58,6 +58,7 @@
   import java.io.IOException;
   import java.util.Map;
   import java.lang.reflect.Method;
  +import java.lang.reflect.InvocationTargetException;
   
   import org.apache.velocity.context.Context;
   import org.apache.velocity.context.InternalContextAdapter;
  @@ -79,7 +80,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]">Geir Magnusson Jr.</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Christoph Reck</a>
    * @author <a href="mailto:[EMAIL PROTECTED]>Kent Johnson</a>
  - * @version $Id: ASTReference.java,v 1.24 2001/04/18 20:28:11 geirm Exp $ 
  + * @version $Id: ASTReference.java,v 1.25 2001/04/18 20:43:15 geirm Exp $ 
   */
   public class ASTReference extends SimpleNode
   {
  @@ -413,6 +414,19 @@
                   return false;
                   
               }
  +        }
  +        catch( InvocationTargetException ite )
  +        {
  +            /*
  +             *  this is possible 
  +             */
  +
  +            throw  new MethodInvocationException( 
  +                "ASTReference : Invocation of method '" 
  +                + identifier + "' in  " + result.getClass()
  +                + " threw exception " 
  +                + ite.getTargetException().getClass(), 
  +               ite.getTargetException(), identifier );
           }
           catch( Exception e )
           {
  
  
  

Reply via email to