00001 /*****************************************************************************/ 00002 /*! 00003 * \file eval_exception.h 00004 * 00005 * Author: Sergey Berezin 00006 * 00007 * Created: Tue Feb 25 14:58:57 2003 00008 * 00009 * <hr> 00010 * Copyright (C) 2003 by the Board of Trustees of Leland Stanford 00011 * Junior University and by New York University. 00012 * 00013 * License to use, copy, modify, sell and/or distribute this software 00014 * and its documentation for any purpose is hereby granted without 00015 * royalty, subject to the terms and conditions defined in the \ref 00016 * LICENSE file provided with this distribution. In particular: 00017 * 00018 * - The above copyright notice and this permission notice must appear 00019 * in all copies of the software and related documentation. 00020 * 00021 * - THE SOFTWARE IS PROVIDED "AS-IS", WITHOUT ANY WARRANTIES, 00022 * EXPRESSED OR IMPLIED. USE IT AT YOUR OWN RISK. 00023 * 00024 * <hr> 00025 * 00026 * An exception thrown on an error while evaluating a command. Use it 00027 * only when the error does not fall under any of the standard cases 00028 * like typecheck or parse errors. 00029 */ 00030 /*****************************************************************************/ 00031 00032 #ifndef _CVC_lite__eval_exception_h_ 00033 #define _CVC_lite__eval_exception_h_ 00034 00035 #include "exception.h" 00036 00037 namespace CVCL { 00038 class EvalException: public Exception { 00039 public: 00040 // Constructors 00041 EvalException() { } 00042 EvalException(const std::string& msg): Exception(msg) { } 00043 EvalException(char* msg): Exception(msg) { } 00044 // Destructor 00045 virtual ~EvalException() { } 00046 // Printing the message 00047 virtual std::string toString() const { 00048 return "Error while evaluating a command:\n " + d_msg; 00049 } 00050 }; 00051 00052 } 00053 00054 #endif