3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-08 16:25:48 +00:00

use a base iz3_exception class for exceptions raised during interpolation

Using a base exception class, derived from z3_exception, makes it possible to
recover gracefully if something goes wrong during the computation of
interpolants.
This commit is contained in:
Alberto Griggio 2015-04-16 19:14:34 +02:00
parent af444beb2e
commit 8e772b428b
13 changed files with 109 additions and 57 deletions

View file

@ -117,7 +117,7 @@ class iz3base : public iz3mgr, public scopes {
/** Interpolator for clauses, to be implemented */
virtual void interpolate_clause(std::vector<ast> &lits, std::vector<ast> &itps){
throw "no interpolator";
throw iz3_exception("no interpolator");
}
ast get_proof_check_assump(range &rng){
@ -129,7 +129,7 @@ class iz3base : public iz3mgr, public scopes {
int frame_of_assertion(const ast &ass){
stl_ext::hash_map<ast,int>::iterator it = frame_map.find(ass);
if(it == frame_map.end())
throw "unknown assertion";
throw iz3_exception("unknown assertion");
return it->second;
}