AM Daemon ライブラリリファレンス
公開メンバ関数 | 全メンバ一覧
amdaemon::Error クラス

アプリで表示すべきエラーの情報を提供するMonostateクラス。 [詳解]

#include <Error.h>

公開メンバ関数

const ErrorInfogetInfo () const
 エラー情報インスタンスを取得する。 [詳解]
 
bool isOccurred () const
 エラーが発生しているか否かを取得する。 [詳解]
 
std::uint32_t getNumber () const
 エラー番号を取得する。 [詳解]
 
std::uint32_t getSubNumber () const
 サブエラー番号(枝番)を取得する。 [詳解]
 
const wchar_t * getMessage () const
 エラーメッセージを取得する。 [詳解]
 
ErrorResetType getResetType () const
 エラーリセット種別を取得する。 [詳解]
 
bool canReset () const
 エラーをリセット可能か否かを取得する。 [詳解]
 
const ::amdaemon::util::DateTimegetTime () const
 エラー発生日時を取得する。 [詳解]
 
bool set (std::uint32_t number, std::uint32_t subNumber=0)
 アプリからエラーを設定する。 [詳解]
 
bool reset ()
 エラーをリセットする。 [詳解]
 
const ErrorLoggetLog () const
 エラーログ情報を取得する。 [詳解]
 
bool clearLog ()
 エラーログ情報のクリア処理を要求する。 [詳解]
 

詳解

アプリで表示すべきエラーの情報を提供するMonostateクラス。

Core クラスのメンバ関数 Core::execute 呼び出しによって内容が更新される。 一部の関数は処理完了まで呼び出し元スレッドをブロックする。

ライブラリ利用アプリで実装すべきこと
  • メンバ関数 isOccurred の戻り値を毎フレームチェックし、 true が返ってきた場合はアプリ側でエラー表示を行うこと。
  • アプリ独自のエラーが発生した場合、メンバ関数 set でエラーを通知すること。
  • オペレータがエラーリセット操作(PushSwitch2の押下等)を行った場合、 メンバ関数 reset でエラーリセットを行うこと。
利用可能タイミングについて
  • エラー発生情報は Core クラスのメンバ関数 Core::isReady が false を返す場合でも参照することができる。
  • エラー操作(set, reset)やエラーログ情報(getLog)については Core クラスのメンバ関数 Core::isReady が true を返すまで利用できない。
エラー発生時の挙動
  • 発生したエラーに関連するモジュールは更新されなくなる。 関連しないモジュールは引き続き更新される。
    • 例えばネットワーク周りのエラー発生時、 Network クラス等は更新されないが、 Jvs クラス等は引き続き更新され、スイッチ入力を得ることもできる。
  • 全プレイヤーのゲームプレイ状態は強制的に解除される。
    • Sequence クラスのメンバ関数 Sequence::isPlayingAny が false を返す状態となる。
    • その時点でのプレイは無かったことになり、ブックキーピングに記録されない。
  • ゲームテストモード中に新たなエラーは発生しない。
エラーリセットについて
  • メンバ関数 getResetType の返すエラーリセット種別によってリセット方法が異なる。 詳しくは ErrorResetType 列挙の説明を参照すること。
  • エラーの根本原因を解消していない場合、リセットしても即座に再発する場合がある。
  • ゲームテストモードを開始してもリセットされないエラーの場合、 ゲームテストモード中であっても Error クラスはエラー情報を返し続ける。
    • アプリでエラー画面表示処理を実装する際には、 ゲームテストモード中には表示しないような組み方をする必要がある。

関数詳解

const ErrorInfo& amdaemon::Error::getInfo ( ) const

エラー情報インスタンスを取得する。

戻り値
エラー情報インスタンス。
覚え書き
Core::isReady が false を返す状態でも利用可能。
bool amdaemon::Error::isOccurred ( ) const
inline

エラーが発生しているか否かを取得する。

戻り値
trueエラーが発生している場合。
falseエラーが発生していない場合。
覚え書き
Core::isReady が false を返す状態でも利用可能。

getInfo().isOccurred() を返す。

std::uint32_t amdaemon::Error::getNumber ( ) const
inline

エラー番号を取得する。

戻り値
エラー番号。エラーが発生していなければ 0 。
覚え書き
Core::isReady が false を返す状態でも利用可能。

getInfo().getNumber() を返す。

std::uint32_t amdaemon::Error::getSubNumber ( ) const
inline

サブエラー番号(枝番)を取得する。

戻り値
サブエラー番号(枝番)。枝番が無いならば 0 。
覚え書き
Core::isReady が false を返す状態でも利用可能。

getInfo().getSubNumber() を返す。

const wchar_t* amdaemon::Error::getMessage ( ) const
inline

エラーメッセージを取得する。

戻り値
エラーメッセージ。エラーが発生していなければ不定値。
覚え書き
Core::isReady が false を返す状態でも利用可能。

getInfo().getMessage() を返す。

ErrorResetType amdaemon::Error::getResetType ( ) const
inline

エラーリセット種別を取得する。

戻り値
エラーリセット種別。エラーが発生していなければ不定値。
覚え書き
Core::isReady が false を返す状態でも利用可能。

getInfo().getResetType() を返す。

bool amdaemon::Error::canReset ( ) const

エラーをリセット可能か否かを取得する。

戻り値
trueリセット可能である場合。
falseリセット不可能であるか、エラー発生中ではない場合。
覚え書き
Core::isReady が false を返す状態でも利用可能。

エラーが発生しており、かつメンバ関数 getResetType の戻り値が ErrorResetType::Any または ErrorResetType::Operation の場合に true を返す。

この関数が false を返す場合、メンバ関数 reset は必ず失敗する。

const ::amdaemon::util::DateTime& amdaemon::Error::getTime ( ) const
inline

エラー発生日時を取得する。

戻り値
エラー発生日時。エラーが発生していなければ不定値。
覚え書き
Core::isReady が false を返す状態でも利用可能。

getInfo().getTime() を返す。

bool amdaemon::Error::set ( std::uint32_t  number,
std::uint32_t  subNumber = 0 
)

アプリからエラーを設定する。

引数
[in]numberエラー番号。 1 以上 amdaemon::ErrorNumberLimit 以下。
[in]subNumber枝番。 1 以上 amdaemon::ErrorSubNumberLimit 以下。枝番無しならば 0 。
戻り値
trueエラーを設定できた場合。
falseエラーを設定できなかったか、既にエラー発生中である場合。
例外
Exception

主にアプリ固有のエラーを発生させる場合に用いる。

指定するエラー番号はエラーリソースDLLで定義されていなければならない。 未定義のエラー番号を渡した場合は ERROR 4103 が代わりに発生する。 その場合もこの関数自体はエラーが設定できたものとして true を返す。

リソースの言語(日本語、英語等)は Core クラスでの言語設定に準ずる。 現在の言語名はメンバ関数 Core::getLanguage で取得できる。

既にエラーが発生している場合は何もせずに false を返す。

Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。

bool amdaemon::Error::reset ( )

エラーをリセットする。

戻り値
trueリセットできた場合。
falseリセットできなかったか、エラー発生中ではない場合。

所定のエラーリセット操作が行われた場合にこの関数を呼び出すこと。 操作内容はタイトル依存だが、例えば物理リセットキーを回した時などが該当する。

メンバ関数 canReset が false を返す場合、この関数は何も行わずに false を返す。 即ちこの関数は、メンバ関数 getResetType の戻り値が ErrorResetType::Any または ErrorResetType::Operation の場合のみ成功する。

Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。

const ErrorLog& amdaemon::Error::getLog ( ) const

エラーログ情報を取得する。

戻り値
エラーログ情報。
bool amdaemon::Error::clearLog ( )

エラーログ情報のクリア処理を要求する。

戻り値
true成功した場合。
false失敗した場合。

Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。


このクラス詳解は次のファイルから抽出されました: