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 * Copyright (C) 2003 by the Board of Trustees of Leland Stanford 00012 * Junior University and by New York University. 00013 * 00014 * License to use, copy, modify, sell and/or distribute this software 00015 * and its documentation for any purpose is hereby granted without 00016 * royalty, subject to the terms and conditions defined in the \ref 00017 * LICENSE file provided with this distribution. In particular: 00018 * 00019 * - The above copyright notice and this permission notice must appear 00020 * in all copies of the software and related documentation. 00021 * 00022 * - THE SOFTWARE IS PROVIDED "AS-IS", WITHOUT ANY WARRANTIES, 00023 * EXPRESSED OR IMPLIED. USE IT AT YOUR OWN RISK. 00024 * 00025 * <hr> 00026 * 00027 */ 00028 /*****************************************************************************/ 00029 00030 #ifndef _CVC_lite__theory_arith__arith_exception_h_ 00031 #define _CVC_lite__theory_arith__arith_exception_h_ 00032 00033 #include <string> 00034 #include <iostream> 00035 #include "exception.h" 00036 00037 namespace CVCL { 00038 00039 class ArithException: public Exception { 00040 // protected: 00041 // std::string d_msg; 00042 public: 00043 // Constructors 00044 ArithException() { } 00045 ArithException(const std::string& msg): Exception(msg) { } 00046 ArithException(char* msg): Exception(msg) { } 00047 // Destructor 00048 virtual ~ArithException() { } 00049 virtual std::string toString() const { 00050 return "Arithmetic error: " + d_msg; 00051 } 00052 }; // end of class ArithException 00053 } // end of namespace CVCL 00054 00055 #endif