diff options
author | Morgan Deters <mdeters@cs.nyu.edu> | 2013-05-17 10:19:54 -0400 |
---|---|---|
committer | Morgan Deters <mdeters@cs.nyu.edu> | 2013-05-20 16:55:21 -0400 |
commit | 59cb1ace343f74af41fae55933be48d1b3995780 (patch) | |
tree | afbe9f45cc4a543ce2546fab2827ed84d5f537e8 /src/smt | |
parent | fdd15f6e418277e471e92a8a32f1e2229c3325f5 (diff) |
Better error on invalid logic strings.
Thanks to David Cok for reporting this issue.
Conflicts:
library_versions
Diffstat (limited to 'src/smt')
-rw-r--r-- | src/smt/smt_engine.cpp | 16 | ||||
-rw-r--r-- | src/smt/smt_engine.h | 4 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp index 284f39d54..3ee6b1d74 100644 --- a/src/smt/smt_engine.cpp +++ b/src/smt/smt_engine.cpp @@ -791,21 +791,21 @@ SmtEngine::~SmtEngine() throw() { void SmtEngine::setLogic(const LogicInfo& logic) throw(ModalException) { SmtScope smts(this); - d_logic = logic; setLogicInternal(); } -void SmtEngine::setLogic(const std::string& s) throw(ModalException) { +void SmtEngine::setLogic(const std::string& s) throw(ModalException, LogicException) { SmtScope smts(this); - - setLogic(LogicInfo(s)); + try { + setLogic(LogicInfo(s)); + } catch(IllegalArgumentException& e) { + throw LogicException(e.what()); + } } -void SmtEngine::setLogic(const char* logic) throw(ModalException){ - SmtScope smts(this); - - setLogic(LogicInfo(string(logic))); +void SmtEngine::setLogic(const char* logic) throw(ModalException, LogicException) { + setLogic(string(logic)); } LogicInfo SmtEngine::getLogicInfo() const { diff --git a/src/smt/smt_engine.h b/src/smt/smt_engine.h index a22e34c21..8266bb1ed 100644 --- a/src/smt/smt_engine.h +++ b/src/smt/smt_engine.h @@ -350,12 +350,12 @@ public: /** * Set the logic of the script. */ - void setLogic(const std::string& logic) throw(ModalException); + void setLogic(const std::string& logic) throw(ModalException, LogicException); /** * Set the logic of the script. */ - void setLogic(const char* logic) throw(ModalException); + void setLogic(const char* logic) throw(ModalException, LogicException); /** * Set the logic of the script. |