> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XErrorSetOptions

> XErrorSetOptions

# XErrorSetOptions

Spécifie le comportement souhaité lorsqu'une erreur se produit dans le système d'exploitation de jeu ou le runtime de jeu.

## Syntaxe

```cpp theme={null}
void XErrorSetOptions(  
         XErrorOptions optionsDebuggerPresent,  
         XErrorOptions optionsDebuggerNotPresent  
)  
```

### Paramètres

*optionsDebuggerPresent*   \_In\_\
Type : [XErrorOptions](/fr-CA/reference/system/xerror/enums/xerroroptions)

Spécifie le comportement souhaité lorsque le débogueur est attaché.

*optionsDebuggerNotPresent*   \_In\_\
Type : [XErrorOptions](/fr-CA/reference/system/xerror/enums/xerroroptions)

Spécifie le comportement souhaité lorsque le débogueur n'est pas attaché.

### Valeur de retour

Type : void

## Remarques

<Note>Il n'est pas sécuritaire d'appeler cette fonction sur un thread urgent. Pour plus d'informations, consultez [Threads urgents](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

Utilisez cette fonction pour spécifier la façon dont le jeu doit réagir lorsqu'une erreur se produit dans le système d'exploitation de jeu ou le runtime de jeu. Par défaut, le jeu ne fait rien si aucun débogueur n'est attaché et envoie des messages de débogage au débogueur s'il est attaché.

Si un débogueur est attaché et que *optionsDebuggerPresent* est défini sur \[XErrorOptions::DebugBreakOnError], le système s'arrête dans le débogueur et envoie des messages de débogage. Vous pouvez désactiver temporairement ce comportement dans la fenêtre Espion en définissant la valeur de la variable globale `XErrorDisableDebugBreak` sur `true`.

L'exemple suivant montre comment définir les options d'erreur, définir un rappel d'erreur personnalisé et configurer ce rappel personnalisé pour recevoir les notifications d'erreur du système.

```cpp theme={null}
bool CustomGameXErrorCallback(_In_ HRESULT hr, _In_ const char* msg, _In_ void* context)  
{  
   // Capture the error to the game's custom logger  
   CustomGameLogger* logger = (CustomGameLogger*)context;  
   logger->ReportGameRuntimeIssue(hr, msg);  
  
   // Don't ignore the error. For example, continue on and do whatever  
   // is specified by XErrorSetOptions().  
   return true;  
}  
  
void SomeGameFunction()  
{  
   // Previously initialize the game's custom logger  
   // CustomGameLogger* m_logger = InitializeLogger();  
   // ...  
  
   // Setup how you want to handle XErrors  
   XErrorSetOptions(DebugBreakOnError, FailFastOnError);
   XErrorSetCallback(CustomGameXErrorCallback, m_logger);
}  
```

## Configuration requise

**En-tête :** XError.h

**Bibliothèque :** xgameruntime.lib

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Documentation conceptuelle

* [Threads urgents](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Voir aussi

[Membres de XError](/fr-CA/reference/system/xerror/xerror_members)\
[XErrorOptions](/fr-CA/reference/system/xerror/enums/xerroroptions)


## Related topics

- [XErrorOptions](/fr-CA/reference/system/xerror/enums/xerroroptions.md)
- [XErrorCallback](/fr-CA/reference/system/xerror/functions/xerrorcallback.md)
- [XErrorSetCallback](/fr-CA/reference/system/xerror/functions/xerrorsetcallback.md)
- [Membres de XError](/fr-CA/reference/system/xerror/xerror_members.md)
- [XMemSetOption](/fr-CA/reference/system/xmem/functions/xmemsetoption.md)
