00001 /*****************************************************************************/ 00002 /*! 00003 * \file arith_exception.h 00004 * \brief An exception thrown by the arithmetic decision procedure. 00005 * 00006 * Author: Sergey Berezin 00007 * 00008 * Created: Fri May 23 15:42:21 2003 00009 * 00010 * <hr> 00011 * 00012 * License to use, copy, modify, sell and/or distribute this software 00013 * and its documentation for any purpose is hereby granted without 00014 * royalty, subject to the terms and conditions defined in the \ref 00015 * LICENSE file provided with this distribution. 00016 * 00017 * <hr> 00018 * 00019 */ 00020 /*****************************************************************************/ 00021 00022 #ifndef _cvc3__theory_arith__arith_exception_h_ 00023 #define _cvc3__theory_arith__arith_exception_h_ 00024 00025 #include <string> 00026 #include <iostream> 00027 #include "exception.h" 00028 00029 namespace CVC3 { 00030 00031 class ArithException: public Exception { 00032 // protected: 00033 // std::string d_msg; 00034 public: 00035 // Constructors 00036 ArithException() { } 00037 ArithException(const std::string& msg): Exception(msg) { } 00038 ArithException(const char* msg): Exception(msg) { } 00039 // Destructor 00040 virtual ~ArithException() { } 00041 virtual std::string toString() const { 00042 return "Arithmetic error: " + d_msg; 00043 } 00044 }; // end of class ArithException 00045 } // end of namespace CVC3 00046 00047 #endif