/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