1 /********************* */ 2 /*! \file logic_exception.h 3 ** \verbatim 4 ** Top contributors (to current version): 5 ** Morgan Deters 6 ** This file is part of the CVC4 project. 7 ** Copyright (c) 2009-2019 by the authors listed in the file AUTHORS 8 ** in the top-level source directory) and their institutional affiliations. 9 ** All rights reserved. See the file COPYING in the top-level source 10 ** directory for licensing information.\endverbatim 11 ** 12 ** \brief An exception that is thrown when a feature is used outside 13 ** the logic that CVC4 is currently using 14 ** 15 ** \brief An exception that is thrown when a feature is used outside 16 ** the logic that CVC4 is currently using (for example, a quantifier 17 ** is used while running in a quantifier-free logic). 18 **/ 19 20 #include "cvc4_public.h" 21 22 #ifndef __CVC4__SMT__LOGIC_EXCEPTION_H 23 #define __CVC4__SMT__LOGIC_EXCEPTION_H 24 25 #include "base/exception.h" 26 27 namespace CVC4 { 28 29 class CVC4_PUBLIC LogicException : public CVC4::Exception { 30 public: LogicException()31 LogicException() : 32 Exception("Feature used while operating in " 33 "incorrect state") { 34 } 35 LogicException(const std::string & msg)36 LogicException(const std::string& msg) : 37 Exception(msg) { 38 } 39 LogicException(const char * msg)40 LogicException(const char* msg) : 41 Exception(msg) { 42 } 43 };/* class LogicException */ 44 45 }/* CVC4 namespace */ 46 47 #endif /* __CVC4__SMT__LOGIC_EXCEPTION_H */ 48