1 /*++
2 Copyright (c) 2012 Microsoft Corporation
3 
4 Module Name:
5 
6     tactic_exception.h
7 
8 Abstract:
9 
10     Tactic exception object.
11 
12 Author:
13 
14     Leonardo (leonardo) 2012-08-15
15 
16 Notes:
17 
18 --*/
19 #pragma once
20 
21 #include "util/z3_exception.h"
22 #include "util/common_msgs.h"
23 
24 class tactic_exception : public z3_exception {
25 protected:
26     std::string m_msg;
27 public:
tactic_exception(std::string && msg)28     tactic_exception(std::string && msg) : m_msg(std::move(msg)) {}
~tactic_exception()29     ~tactic_exception() override {}
msg()30     char const * msg() const override { return m_msg.c_str(); }
31 };
32 
33 #define TACTIC_CANCELED_MSG      Z3_CANCELED_MSG
34 #define TACTIC_MAX_MEMORY_MSG    Z3_MAX_MEMORY_MSG
35 #define TACTIC_MAX_SCOPES_MSG    Z3_MAX_SCOPES_MSG
36 #define TACTIC_MAX_STEPS_MSG     Z3_MAX_STEPS_MSG
37 #define TACTIC_MAX_FRAMES_MSG    Z3_MAX_FRAMES_MSG
38 #define TACTIC_NO_PROOF_GEN_MSG  Z3_NO_PROOF_GEN_MSG
39 
40