目次 - SDL 3.0 API(機能別) - エラー処理 - SDL_GetError

SDL_GetError

現在のスレッドで最後に発生したエラーのメッセージを得る

ヘッダ

SDL3/SDL_error.h

構文

const char * SDL_GetError(void);

戻り値

(const char *) 発生したエラーの情報のメッセージを戻す. または, SDL_ClearError()を呼んでからエラーがなければ, 空の文字列を戻す.

詳細

SDL_GetError()を呼ぶ前に複数のエラーが発生する可能性がある. この場合, 最後のエラーメッセージのみ戻す.

このメッセージはSDL関数がエラーを発した場合のみ使用できる. SDL_GetError()を呼べるか否かは, SDL関数の戻り値をチェックする必要がある. エラーが発生したかを確認するためにSDL_GetError()の結果を利用すべきではない! SDLは正常を報告してもエラー文字列を設定する場合がある.

SDLはAPI呼び出しに成功してもエラー文字列を消去しない. エラー文字列を使う前に, 戻り値でエラーを確認する必要がある.

エラー文字列はスレッドごとに設定される. よって, 別のスレッドで発生したエラーは現在のスレッドでの操作には影響しない.

戻された値はスレッドローカルな文字列で, スレッドのエラー文字列が変わるまで正しい値として保持される. この値が次のSDL API呼び出しの後でも必要な場合は, 呼び出し側でコピーする必要がある.

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_GetError - SDL Wiki