> ## 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/reference/system/xerror/enums/xerroroptions)

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

*optionsDebuggerNotPresent*   \_In\_\
Type : [XErrorOptions](/fr/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>Cette fonction ne peut pas être appelée sans risque sur un thread à durée critique. Pour plus d'informations, consultez [Threads à durée critique](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* a la valeur \[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 via la fenêtre Espion en affectant la valeur `true` à la variable globale `XErrorDisableDebugBreak`.

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 à durée critique](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Voir aussi

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


## Related topics

- [XErrorSetOptions](/reference/system/xerror/functions/xerrorsetoptions.md)
- [XErrorOptions](/reference/system/xerror/enums/xerroroptions.md)
