自定义C++异常类,代码如下:
#ifndef __MY_EXCEPTION_H__ #define __MY_EXCEPTION_H__ #define int Error_t #include#include class MyException : public std::exception { public: MyException(Error_t err, const std::string& detail = "") : m_err(err), m_strDetail(detail) { } const char* what() const noexcept override { return m_strDetail.c_str(); } Error_t code() const noexcept { return m_err; } private: Error_t m_err = 0; std::string m_strDetail; }; #define CHECK_ERR(err) { auto _err = (err); if (_err != 0) { std::cout << __FILE__ << ":" << __LINE__ << " " << _err << std::endl; throw MyException{_err}; } } #endif //__MY_EXCEPTION_H__



