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.

CannotCompileException.java 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. package javassist;
  16. import javassist.compiler.CompileError;
  17. /**
  18. * Thrown when bytecode transformation has failed.
  19. */
  20. public class CannotCompileException extends Exception {
  21. private String message;
  22. public String getReason() {
  23. if (message != null)
  24. return message;
  25. else
  26. return this.toString();
  27. }
  28. /**
  29. * Constructs a CannotCompileException with a message.
  30. */
  31. public CannotCompileException(String msg) {
  32. super(msg);
  33. message = msg;
  34. }
  35. /**
  36. * Constructs a CannotCompileException with an <code>Exception</code>.
  37. */
  38. public CannotCompileException(Exception e) {
  39. super("by " + e.toString());
  40. message = null;
  41. }
  42. /**
  43. * Constructs a CannotCompileException with a
  44. * <code>NotFoundException</code>.
  45. */
  46. public CannotCompileException(NotFoundException e) {
  47. this("cannot find " + e.getMessage());
  48. }
  49. /**
  50. * Constructs a CannotCompileException with an <code>CompileError</code>.
  51. */
  52. public CannotCompileException(CompileError e) {
  53. super("[source error] " + e.getMessage());
  54. message = null;
  55. }
  56. /**
  57. * Constructs a CannotCompileException
  58. * with a <code>ClassNotFoundException</code>.
  59. */
  60. public CannotCompileException(ClassNotFoundException e, String name) {
  61. this("cannot find " + name);
  62. }
  63. /**
  64. * Constructs a CannotCompileException with a ClassFormatError.
  65. */
  66. public CannotCompileException(ClassFormatError e, String name) {
  67. this("invalid class format: " + name);
  68. }
  69. }