6 #ifndef AMDAEMON_EXCEPTION_H 7 #define AMDAEMON_EXCEPTION_H 19 #endif // AMDAEMON_ON_MSVC 24 namespace util {
class StackTrace; }
64 const wchar_t* message,
66 const char* whatFunc);
91 const char* what()
const override;
99 const wchar_t* getFile()
const;
107 const wchar_t* getFunction()
const;
111 const wchar_t* getMessage()
const;
124 const ::amdaemon::util::StackTrace& getStackTrace()
const;
129 const wchar_t*
toString(
bool withoutStackTrace =
false)
const;
135 std::unique_ptr<Impl> _impl;
159 #define AMDAEMON_MAKE_EXCEPTION(cate) ¥ 160 (::amdaemon::Exception( ¥ 161 ::amdaemon::ExceptionCategory::cate, ¥ 162 __FILEW__, __LINE__, AMDAEMON_STRING_TO_WIDE(__FUNCSIG__), nullptr, ¥ 163 __FILE__, __FUNCSIG__)) 168 #define AMDAEMON_MAKE_EXCEPTION_MSG(cate, msg) ¥ 169 (::amdaemon::Exception( ¥ 170 ::amdaemon::ExceptionCategory::cate, ¥ 171 __FILEW__, __LINE__, AMDAEMON_STRING_TO_WIDE(__FUNCSIG__), (msg), ¥ 172 __FILE__, __FUNCSIG__)) 174 #else // AMDAEMON_ON_MSVC 175 #define AMDAEMON_MAKE_EXCEPTION(cate) ¥ 176 (::amdaemon::Exception( ¥ 177 ::amdaemon::ExceptionCategory::cate, ¥ 178 AMDAEMON_STRING_TO_WIDE(__FILE__), __LINE__, nullptr, nullptr, __FILE__, __func__)) 179 #define AMDAEMON_MAKE_EXCEPTION_MSG(cate, msg) ¥ 180 (::amdaemon::Exception( ¥ 181 ::amdaemon::ExceptionCategory::cate, ¥ 182 AMDAEMON_STRING_TO_WIDE(__FILE__), __LINE__, nullptr, (msg), __FILE__, __func__)) 183 #endif // AMDAEMON_ON_MSVC 187 #define AMDAEMON_RAISE_EXCEPTION(cate) ¥ 188 (::amdaemon::raiseException(AMDAEMON_MAKE_EXCEPTION(cate))) 193 #define AMDAEMON_RAISE_EXCEPTION_MSG(cate, msg) ¥ 194 (::amdaemon::raiseException(AMDAEMON_MAKE_EXCEPTION_MSG(cate, (msg)))) 198 #define AMDAEMON_RAISE_LOGIC_EXCEPTION() AMDAEMON_RAISE_EXCEPTION(Logic) 203 #define AMDAEMON_RAISE_LOGIC_EXCEPTION_MSG(msg) AMDAEMON_RAISE_EXCEPTION_MSG(Logic, (msg)) 207 #define AMDAEMON_RAISE_OPERATION_EXCEPTION() AMDAEMON_RAISE_EXCEPTION(Operation) 212 #define AMDAEMON_RAISE_OPERATION_EXCEPTION_MSG(msg) ¥ 213 AMDAEMON_RAISE_EXCEPTION_MSG(Operation, (msg)) 217 #define AMDAEMON_RAISE_RUNTIME_EXCEPTION() AMDAEMON_RAISE_EXCEPTION(Runtime) 222 #define AMDAEMON_RAISE_RUNTIME_EXCEPTION_MSG(msg) AMDAEMON_RAISE_EXCEPTION_MSG(Runtime, (msg)) 225 #define AMDAEMON_RAISE_FATAL_EXCEPTION() AMDAEMON_RAISE_EXCEPTION(Fatal) 229 #define AMDAEMON_RAISE_FATAL_EXCEPTION_MSG(msg) AMDAEMON_RAISE_EXCEPTION_MSG(Fatal, (msg)) 233 #endif // AMDAEMON_EXCEPTION_H
ExceptionCategory
AM Daemon の例外カテゴリ列挙。
Definition: ExceptionCategory.h:17
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
const wchar_t * toString(AimeCommand command)
AimeCommand 列挙値の文字列表現値を取得する。
AM Daemon の例外クラス。
Definition: Exception.h:42
void raiseException(const Exception &ex)
例外を発生させる。
AM Daemon の例外カテゴリ列挙 ExceptionCategory のヘッダ。
AimeErrorCategory getCategory(AimeErrorId id)
AimeErrorId 列挙値に対応する AimeErrorCategory 列挙値を取得する。