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