/**
*
* This file is a part of ZOOLA - an extensible BeanShell implementation.
* Zoola is based on original BeanShell code created by Pat Niemeyer.
*
* Original BeanShell code is Copyright (C) 2000 Pat Niemeyer <pat@pat.net>.
*
* New portions are Copyright 2012 Rafal Lewczuk <rafal.lewczuk@jitlogic.com>
*
* This is free software. You can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This software is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with ZOOLA. If not, see <http://www.gnu.org/licenses/>.
*
*/
package bsh;
import bsh.ast.SimpleNode;
/**
UtilTargetError is an error corresponding to a TargetError but thrown by a
utility or other class that does not have the caller context (Node)
available to it. See UtilEvalError for an explanation of the difference
between UtilEvalError and EvalError.
<p>
@see UtilEvalError
*/
public class UtilTargetError extends UtilEvalError
{
public Throwable t;
public UtilTargetError( String message, Throwable t ) {
super( message );
this.t = t;
}
public UtilTargetError( Throwable t ) {
this( null, t );
}
/**
Override toEvalError to throw TargetError type.
*/
public EvalError toEvalError(
String msg, SimpleNode node, CallStack callstack )
{
if ( msg == null )
msg = getMessage();
else
msg = msg + ": " + getMessage();
return new TargetError( msg, t, node, callstack, false );
}
}