/Users/lyon/j4p/src/javassist/reflect/CannotInvokeException.java

1    /* 
2     * Javassist, a Java-bytecode translator toolkit. 
3     * Copyright (C) 1999-2003 Shigeru Chiba. All Rights Reserved. 
4     * 
5     * The contents of this file are subject to the Mozilla Public License Version 
6     * 1.1 (the "License"); you may not use this file except in compliance with 
7     * the License.  Alternatively, the contents of this file may be used under 
8     * the terms of the GNU Lesser General Public License Version 2.1 or later. 
9     * 
10    * Software distributed under the License is distributed on an "AS IS" basis, 
11    * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
12    * for the specific language governing rights and limitations under the 
13    * License. 
14    */ 
15    
16   package javassist.reflect; 
17    
18   import java.lang.reflect.InvocationTargetException; 
19   import java.lang.IllegalAccessException; 
20    
21   /** 
22    * Thrown when method invocation using the reflection API has thrown 
23    * an exception. 
24    * 
25    * @see javassist.reflect.Metaobject#trapMethodcall(int, Object[]) 
26    * @see javassist.reflect.ClassMetaobject#trapMethodcall(int, Object[]) 
27    * @see javassist.reflect.ClassMetaobject#invoke(Object, int, Object[]) 
28    */ 
29   public class CannotInvokeException extends RuntimeException { 
30       /** 
31        * @serial 
32        */ 
33       private Throwable err = null; 
34    
35       /** 
36        * Constructs a CannotInvokeException with an error message. 
37        */ 
38       public CannotInvokeException(String reason) { 
39           super(reason); 
40       } 
41    
42       /** 
43        * Constructs a CannotInvokeException with an InvocationTargetException. 
44        */ 
45       public CannotInvokeException(InvocationTargetException e) { 
46           super("by " + e.getTargetException().toString()); 
47           err = e.getTargetException(); 
48       } 
49    
50       /** 
51        * Constructs a CannotInvokeException with an IllegalAccessException. 
52        */ 
53       public CannotInvokeException(IllegalAccessException e) { 
54           super("by " + e.toString()); 
55           err = e; 
56       } 
57    
58       /** 
59        * Constructs a CannotInvokeException with an ClassNotFoundException. 
60        */ 
61       public CannotInvokeException(ClassNotFoundException e) { 
62           super("by " + e.toString()); 
63           err = e; 
64       } 
65   } 
66