LightNote  version 1.0
共通/ベース機能

エラー処理

機能の初期化やリソースの読み込み等の処理は、
終了後に成功または失敗とその原因を示す数値(リザルトコード)を返します。

SUCCEEDED、FAILED マクロを使用することで、成功/失敗をチェックすることができます。

HRESULT hr = LAudio_Init();
if (SUCCEEDED(hr))
{
    // 成功
}
if (FAILED(hr))
{
    // 失敗
}

// ※リザルトコードの中身は独自定義の HRESULT 型です。
        
// 命令リファレンスに「stat:リザルトコード」と書かれている命令は stat にリザルトコードを格納します
LAudio_Init
if SUCCEEDED(stat) {
    // 成功
}
if FAILED(stat) {
    // 失敗
}
        


リザルトコードは成功/失敗の他に、失敗の原因を表します。 以下のようにコーディングすることで、失敗の原因を知ることができます。

HRESULT hr = LAudio_Init();
switch (hr)
{
    case LN_OK:
        // 成功
        break;
    case LN_ERR_INITIALIZED:
        // 既に初期化されている
        break;
    case LN_ERR_DIRECTX:
        // DirectX の機能でエラーが発生
        break;
    default:
        // その他
        break;
}
        
// 命令リファレンスに「stat:リザルトコード」と書かれている命令は stat にリザルトコードを格納します
LAudio_Init
switch stat
    case LN_OK
        // 成功
        swbreak
    case LN_ERR_INITIALIZED
        // 既に初期化されている
        swbreak
    case LN_ERR_DIRECTX:
        // DirectX の機能でエラーが発生
        swbreak
    default
        // その他
        swbreak
swend
        

リザルトコードの定義と説明は リザルトコード を参照してください。


リザルトコード

リザルトコードは以下の値が定義されています。
LN_ERR_〜はすべて負の値です。

定数説明
LN_OK成功。値は 0 です。
LN_ERR_INVALIDCALL引数が無効
LN_ERR_OUTOFMEMORYメモリ不足
LN_ERR_NULLPOINTERNULL アクセス
LN_ERR_FILENOTFOUNDファイルが無効 (オープンに失敗)
LN_ERR_SYSTEMシステムAPI 呼び出しエラー
LN_ERR_INITIALIZED初期化済み
LN_ERR_NOINITIALIZE初期化されていない
LN_ERR_FORMAT非対応ファイル形式
LN_ERR_NOTIMPL実装されていない機能を呼び出そうとした
LN_ERR_FATAL継続不能なエラー
LN_ERR_DIRECTXDirectX 関係のエラー
LN_ERR_OPENGLOpenGL 関係のエラー