diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/smt/command.cpp | 4 | ||||
-rw-r--r-- | src/smt/smt_engine.cpp | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/smt/command.cpp b/src/smt/command.cpp index 51cb6663f..5198ea2d1 100644 --- a/src/smt/command.cpp +++ b/src/smt/command.cpp @@ -2438,6 +2438,10 @@ void GetInfoCommand::invoke(SmtEngine* smtEngine) { d_commandStatus = new CommandUnsupported(); } + catch (RecoverableModalException& e) + { + d_commandStatus = new CommandRecoverableFailure(e.what()); + } catch (exception& e) { d_commandStatus = new CommandFailure(e.what()); diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp index 149d8bb35..9a0d969d8 100644 --- a/src/smt/smt_engine.cpp +++ b/src/smt/smt_engine.cpp @@ -2412,8 +2412,9 @@ CVC4::SExpr SmtEngine::getInfo(const std::string& key) const { transform(s.begin(), s.end(), s.begin(), ::tolower); return SExpr(SExpr::Keyword(s)); } else { - throw ModalException("Can't get-info :reason-unknown when the " - "last result wasn't unknown!"); + throw RecoverableModalException( + "Can't get-info :reason-unknown when the " + "last result wasn't unknown!"); } } else if(key == "assertion-stack-levels") { AlwaysAssert(d_userLevels.size() <= |