#pragma once #include #include namespace std _GLIBCXX_VISIBILITY(default) { class zexception : public exception { string m_ecodeinfo = ""; int32_t m_ecode = 0; public: /** Takes a character string describing the error. */ explicit zexception(int32_t ecode, const string& __arg) { m_ecodeinfo = __arg; m_ecode = ecode; } const char* what() const noexcept override { return m_ecodeinfo.c_str(); } int32_t ecode() const noexcept { return m_ecode; } }; } // namespace std _GLIBCXX_VISIBILITY(default)