AM Daemon ライブラリリファレンス
|
AM Daemon の例外クラス。 [詳解]
#include <Exception.h>
exceptionを継承しています。
公開メンバ関数 | |
Exception (ExceptionCategory category, const wchar_t *file, int line, const wchar_t *func, const wchar_t *message, const char *whatFile, const char *whatFunc) | |
コンストラクタ。 [詳解] | |
Exception (const Exception &src) | |
コピーコンストラクタ。 [詳解] | |
Exception (Exception &&src) | |
ムーブコンストラクタ。 [詳解] | |
‾Exception () throw () | |
デストラクタ。 [詳解] | |
Exception & | operator= (const Exception &r) |
コピー代入演算子のオーバロード。 [詳解] | |
Exception & | operator= (Exception &&r) |
ムーブ代入演算子のオーバロード。 [詳解] | |
const char * | what () const override |
例外文字列を取得する。 [詳解] | |
ExceptionCategory | getCategory () const |
例外カテゴリを取得する。 [詳解] | |
const wchar_t * | getFile () const |
例外発生時のファイル名を取得する。 [詳解] | |
int | getLine () const |
例外発生時のファイル行番号を取得する。 [詳解] | |
const wchar_t * | getFunction () const |
例外発生時の関数名を取得する。 [詳解] | |
const wchar_t * | getMessage () const |
例外発生時の付随メッセージを取得する。 [詳解] | |
const ::amdaemon::util::StackTrace & | getStackTrace () const |
例外発生時のスタックトレース情報を取得する。 [詳解] | |
const wchar_t * | toString (bool withoutStackTrace=false) const |
例外情報を文字列化する。 [詳解] | |
AM Daemon の例外クラス。
既定ではライブラリ内で例外が発生するとこのクラスのインスタンスがスローされる。
C++標準の例外情報に加え、例外発生位置やスタックトレースの情報を保持している。 メンバ関数 toString によりそれらの情報をまとめて文字列化できる。
Core クラスのメンバ関数 Core::setExceptionHook を用いてライブラリに例外フック関数を設定することで、 例外をスローさせる代わりにこのクラスのインスタンスを受け取って処理することができる。 例外をスローしないようにすることもでき、 その場合のライブラリ側の挙動は例外カテゴリに依存する。 詳細は各 ExceptionCategory 列挙値の説明を参照すること。
amdaemon::Exception::Exception | ( | ExceptionCategory | category, |
const wchar_t * | file, | ||
int | line, | ||
const wchar_t * | func, | ||
const wchar_t * | message, | ||
const char * | whatFile, | ||
const char * | whatFunc | ||
) |
コンストラクタ。
[in] | category | 例外カテゴリ。 |
[in] | file | 例外発生時のファイル名。不明ならば nullptr 。 |
[in] | line | 例外発生時のファイル行番号。不明ならば負数。 |
[in] | func | 例外発生時の関数名。不明ならば nullptr 。 |
[in] | message | 例外発生時の付随メッセージ。無いならば nullptr 。 |
[in] | whatFile | 例外メッセージ用のファイル名。不明ならば nullptr 。 |
[in] | whatFunc | 例外メッセージ用の関数名。不明ならば nullptr 。 |
通常、このコンストラクタを直接呼び出すことはなく、 AMDAEMON_MAKE_EXCEPTION マクロまたは AMDAEMON_MAKE_EXCEPTION_MSG マクロを 用いてインスタンスを生成するか、 AMDAEMON_RAISE_EXCEPTION マクロまたは AMDAEMON_RAISE_EXCEPTION_MSG マクロを 用いて例外を発生させる。
amdaemon::Exception::Exception | ( | const Exception & | src | ) |
コピーコンストラクタ。
[in] | src | コピー元。 |
amdaemon::Exception::Exception | ( | Exception && | src | ) |
ムーブコンストラクタ。
[in] | src | ムーブ元。 |
amdaemon::Exception::‾Exception | ( | ) | ||
throw | ( | |||
) |
デストラクタ。
コピー代入演算子のオーバロード。
[in] | r | 右辺値。 |
|
override |
例外文字列を取得する。
ExceptionCategory amdaemon::Exception::getCategory | ( | ) | const |
例外カテゴリを取得する。
const wchar_t* amdaemon::Exception::getFile | ( | ) | const |
例外発生時のファイル名を取得する。
int amdaemon::Exception::getLine | ( | ) | const |
例外発生時のファイル行番号を取得する。
const wchar_t* amdaemon::Exception::getFunction | ( | ) | const |
例外発生時の関数名を取得する。
const wchar_t* amdaemon::Exception::getMessage | ( | ) | const |
例外発生時の付随メッセージを取得する。
const ::amdaemon::util::StackTrace& amdaemon::Exception::getStackTrace | ( | ) | const |
例外発生時のスタックトレース情報を取得する。
デバッグ情報は、VC++の既定のリンカオプションではPDBファイルとして出力される。 このPDBファイルが実行可能ファイルと同じ位置にある場合にデバッグ情報を参照可能となる。
const wchar_t* amdaemon::Exception::toString | ( | bool | withoutStackTrace = false | ) | const |
例外情報を文字列化する。
[in] | withoutStackTrace | スタックトレースの情報を含めないならば true 。 |