/* * Javassist, a Java-bytecode translator toolkit. * Copyright (C) 1999-2003 Shigeru Chiba. All Rights Reserved. * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. Alternatively, the contents of this file may be used under * the terms of the GNU Lesser General Public License Version 2.1 or later. * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. */ package javassist; import javassist.compiler.CompileError; /** * Thrown when bytecode transformation has failed. */ public class CannotCompileException extends Exception { private String message; public String getReason() { if (message != null) return message; else return this.toString(); } /** * Constructs a CannotCompileException with a message. */ public CannotCompileException(String msg) { super(msg); message = msg; } /** * Constructs a CannotCompileException with an Exception. */ public CannotCompileException(Exception e) { super("by " + e.toString()); message = null; } /** * Constructs a CannotCompileException with a * NotFoundException. */ public CannotCompileException(NotFoundException e) { this("cannot find " + e.getMessage()); } /** * Constructs a CannotCompileException with an CompileError. */ public CannotCompileException(CompileError e) { super("[source error] " + e.getMessage()); message = null; } /** * Constructs a CannotCompileException * with a ClassNotFoundException. */ public CannotCompileException(ClassNotFoundException e, String name) { this("cannot find " + name); } /** * Constructs a CannotCompileException with a ClassFormatError. */ public CannotCompileException(ClassFormatError e, String name) { this("invalid class format: " + name); } }