3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-27 19:05:51 +00:00

fail gracefully on interpolation errors

This commit is contained in:
Ken McMillan 2015-07-10 14:39:11 -07:00
parent 1cf24f7cdc
commit e6516f549d
5 changed files with 74 additions and 16 deletions

View file

@ -271,7 +271,18 @@ public:
// translate into an interpolatable proof
profiling::timer_start("Proof translation");
tr->translate(proof,pf);
try {
tr->translate(proof,pf);
}
catch (const char *msg) {
throw interpolation_failure(msg);
}
catch (const iz3translation::unsupported &) {
throw interpolation_error();
}
catch (const iz3proof::proof_error &) {
throw interpolation_error();
}
profiling::timer_stop("Proof translation");
// translate the proof into interpolants
@ -309,7 +320,18 @@ public:
// translate into an interpolatable proof
profiling::timer_start("Proof translation");
tr->translate(proof,pf);
try {
tr->translate(proof,pf);
}
catch (const char *msg) {
throw interpolation_failure(msg);
}
catch (const iz3translation::unsupported &) {
throw interpolation_error();
}
catch (const iz3proof::proof_error &) {
throw interpolation_error();
}
profiling::timer_stop("Proof translation");
// translate the proof into interpolants