Program: bbtk
Module: $RCSfile: bbtkInterpreter.cxx,v $
Language: C++
- Date: $Date: 2008/10/17 08:18:13 $
- Version: $Revision: 1.77 $
+ Date: $Date: 2008/11/26 12:36:42 $
+ Version: $Revision: 1.78 $
=========================================================================*/
/* ---------------------------------------------------------------------
mScriptLine(script_line)
{
}
+ //=======================================================================
+ void Interpreter::CatchInterpreterException( const InterpreterError& e )
+ {
+ if (mThrow)
+ {
+ CloseAllFiles();
+ throw InterpreterError(e);
+ }
+ else
+ {
+ std::stringstream mess;
+ mess << "* ERROR : "<<e.GetErrorMessage()<<std::endl;
+ if (e.IsInScriptFile())
+ {
+ mess << "* FILE : \""<<e.GetScriptFile()<<"\""<<std::endl;
+ mess << "* LINE : "<<e.GetScriptLine()<<std::endl;
+ }
+ std::cerr << mess.str();
+ }
+ }
+ //=======================================================================
+
//=======================================================================
void Interpreter::CatchBbtkException( const bbtk::Exception& e )
{
status = Interpreter_QUIT; \
if (mThrow) throw QuitException(); \
} \
+ catch (InterpreterError e) \
+ { \
+ status = Interpreter_ERROR; \
+ CatchInterpreterException(e); \
+ } \
catch (bbtk::Exception e) \
{ \
status = Interpreter_ERROR; \
Program: bbtk
Module: $RCSfile: bbtkInterpreter.h,v $
Language: C++
- Date: $Date: 2008/10/17 08:18:13 $
- Version: $Revision: 1.35 $
+ Date: $Date: 2008/11/26 12:36:43 $
+ Version: $Revision: 1.36 $
=========================================================================*/
/* ---------------------------------------------------------------------
std::string includeScriptName);
///
+ void CatchInterpreterException( const InterpreterError& e );
void CatchBbtkException( const bbtk::Exception& e );
void CatchStdException( const std::exception& e );
void CatchUnknownException();