You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CannotInvokeException.java 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*
  2. * Javassist, a Java-bytecode translator toolkit.
  3. * Copyright (C) 1999-2005 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. package javassist.tools.reflect;
  16. import java.lang.reflect.InvocationTargetException;
  17. import java.lang.IllegalAccessException;
  18. /**
  19. * Thrown when method invocation using the reflection API has thrown
  20. * an exception.
  21. *
  22. * @see javassist.tools.reflect.Metaobject#trapMethodcall(int, Object[])
  23. * @see javassist.tools.reflect.ClassMetaobject#trapMethodcall(int, Object[])
  24. * @see javassist.tools.reflect.ClassMetaobject#invoke(Object, int, Object[])
  25. */
  26. public class CannotInvokeException extends RuntimeException {
  27. private Throwable err = null;
  28. /**
  29. * Returns the cause of this exception. It may return null.
  30. */
  31. public Throwable getReason() { return err; }
  32. /**
  33. * Constructs a CannotInvokeException with an error message.
  34. */
  35. public CannotInvokeException(String reason) {
  36. super(reason);
  37. }
  38. /**
  39. * Constructs a CannotInvokeException with an InvocationTargetException.
  40. */
  41. public CannotInvokeException(InvocationTargetException e) {
  42. super("by " + e.getTargetException().toString());
  43. err = e.getTargetException();
  44. }
  45. /**
  46. * Constructs a CannotInvokeException with an IllegalAccessException.
  47. */
  48. public CannotInvokeException(IllegalAccessException e) {
  49. super("by " + e.toString());
  50. err = e;
  51. }
  52. /**
  53. * Constructs a CannotInvokeException with an ClassNotFoundException.
  54. */
  55. public CannotInvokeException(ClassNotFoundException e) {
  56. super("by " + e.toString());
  57. err = e;
  58. }
  59. }