3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-10 03:07:07 +00:00
z3/lib/z3_exception.h
Leonardo de Moura e9eab22e5c Z3 sources
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-02 11:35:25 -07:00

50 lines
873 B
C++

/*++
Copyright (c) 2011 Microsoft Corporation
Module Name:
z3_exception.h
Abstract:
Generic Z3 exception
Author:
Leonardo (leonardo) 2011-04-28
Notes:
--*/
#ifndef _Z3_EXCEPTION_H_
#define _Z3_EXCEPTION_H_
#include<string>
class z3_exception {
public:
virtual ~z3_exception() {}
virtual char const * msg() const = 0;
virtual unsigned error_code() const;
bool has_error_code() const;
};
class z3_error : public z3_exception {
unsigned m_error_code;
public:
z3_error(unsigned error_code);
virtual char const * msg() const;
virtual unsigned error_code() const;
};
class default_exception : public z3_exception {
std::string m_msg;
public:
default_exception(std::string const& msg);
default_exception(char const* msg, ...);
virtual ~default_exception() {}
virtual char const * msg() const;
};
#endif