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