summaryrefslogtreecommitdiff
path: root/src/smt/command.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/smt/command.cpp')
-rw-r--r--src/smt/command.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/smt/command.cpp b/src/smt/command.cpp
index a15e20998..419167e7e 100644
--- a/src/smt/command.cpp
+++ b/src/smt/command.cpp
@@ -2557,11 +2557,15 @@ void SetInfoCommand::invoke(api::Solver* solver, SymbolManager* sm)
solver->setInfo(d_flag, d_value);
d_commandStatus = CommandSuccess::instance();
}
- catch (api::CVC5ApiRecoverableException&)
+ catch (api::CVC5ApiUnsupportedException&)
{
// As per SMT-LIB spec, silently accept unknown set-info keys
d_commandStatus = CommandSuccess::instance();
}
+ catch (api::CVC5ApiRecoverableException& e)
+ {
+ d_commandStatus = new CommandRecoverableFailure(e.getMessage());
+ }
catch (exception& e)
{
d_commandStatus = new CommandFailure(e.what());
@@ -2599,9 +2603,13 @@ void GetInfoCommand::invoke(api::Solver* solver, SymbolManager* sm)
d_result = sexprToString(solver->mkTerm(api::SEXPR, v));
d_commandStatus = CommandSuccess::instance();
}
+ catch (api::CVC5ApiUnsupportedException&)
+ {
+ d_commandStatus = new CommandUnsupported();
+ }
catch (api::CVC5ApiRecoverableException& e)
{
- d_commandStatus = new CommandRecoverableFailure(e.what());
+ d_commandStatus = new CommandRecoverableFailure(e.getMessage());
}
catch (exception& e)
{
@@ -2658,10 +2666,14 @@ void SetOptionCommand::invoke(api::Solver* solver, SymbolManager* sm)
solver->setOption(d_flag, d_value);
d_commandStatus = CommandSuccess::instance();
}
- catch (api::CVC5ApiRecoverableException&)
+ catch (api::CVC5ApiUnsupportedException&)
{
d_commandStatus = new CommandUnsupported();
}
+ catch (api::CVC5ApiRecoverableException& e)
+ {
+ d_commandStatus = new CommandRecoverableFailure(e.getMessage());
+ }
catch (exception& e)
{
d_commandStatus = new CommandFailure(e.what());
@@ -2696,7 +2708,7 @@ void GetOptionCommand::invoke(api::Solver* solver, SymbolManager* sm)
d_result = solver->getOption(d_flag);
d_commandStatus = CommandSuccess::instance();
}
- catch (api::CVC5ApiRecoverableException&)
+ catch (api::CVC5ApiUnsupportedException&)
{
d_commandStatus = new CommandUnsupported();
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback