目次 - API(機能別) - アサーション - SDL_SetAssertionHandler

# SDL_SetAssertionHandler

アプリケーション定義のアサーションハンドラを設定する

## 構文

`void SDL_SetAssertionHandler(SDL_AssertionHandler handler, void* userdata)`

## 引数

handler | アサーションが失敗したとき呼ばれる関数. NULLのときデフォルトのハンドラ (詳細を参照すること)
userdata | handlerに渡されるポインタ

## 詳細

この関数で, アサーションに失敗したとき, 独自のUIと応答を設定できる. アプリケーションが設定しないとき, SDLはフルスクリーンの場合は最小化してそれぞれのシステムのGUIのダイアログを表示する.

handlerの関数プロトタイプは

`SDL_AssertState YourAssertionHandler(const SDL_assert_data* data, void* userdata)`

YourAssertionHandlerは任意の関数名で, 引数は

data | 現在のアサーションを報告するSDL_assert_dataへのポインタ
userdata | SDL_SetAssertionHandler()に渡されたuserdata

このコールバック関数は, このアサーションの失敗をどのように扱うかを示すSDL_AssertStateを戻す必要がある.

このコールバック関数は, あらゆるスレッドから呼ばれる. しかし, 排他制御されていて, 一度に1つのスレッドからしか呼ばれない.

このコールバック関数は, SDL_Quit()ではSDL内部の関数には戻らない!

## 関連項目(関数)

SDL_GetAssertionHandler

## SDL Wikiへのリンク

SDL_SetAssertionHandler - SDL Wiki