> ## 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

Especifica el comportamiento deseado cuando se produce un error en el sistema operativo de juegos o en el entorno de ejecución de juegos.

## Sintaxis

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

### Parámetros

*optionsDebuggerPresent*   \_In\_\
Tipo: [XErrorOptions](/reference/system/xerror/enums/xerroroptions)

Especifica el comportamiento deseado cuando el depurador está conectado.

*optionsDebuggerNotPresent*   \_In\_\
Tipo: [XErrorOptions](/reference/system/xerror/enums/xerroroptions)

Especifica el comportamiento deseado cuando el depurador no está conectado.

### Valor devuelto

Tipo: void

## Comentarios

<Note>No es seguro llamar a esta función en un subproceso sensible al tiempo. Para obtener más información, consulte [Subprocesos sensibles al tiempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

Use esta función para especificar cómo debe reaccionar el juego cuando se produce un error en el sistema operativo de juegos o en el entorno de ejecución de juegos. De manera predeterminada, el juego no hace nada si no hay un depurador conectado, y genera mensajes de depuración en el depurador si está conectado.

Si hay un depurador conectado y *optionsDebuggerPresent* se establece en \[XErrorOptions::DebugBreakOnError], el sistema se interrumpe en el depurador y genera mensajes de depuración. Puede deshabilitar temporalmente este comportamiento a través de la ventana de inspección estableciendo el valor de la variable global `XErrorDisableDebugBreak` en `true`.

El ejemplo siguiente muestra cómo establecer las opciones de error, definir una devolución de llamada de error personalizada y establecer la devolución de llamada personalizada para recibir notificaciones de error del sistema.

```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);
}  
```

## Requisitos

**Encabezado:** XError.h

**Biblioteca:** xgameruntime.lib

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Documentación conceptual

* [Subprocesos sensibles al tiempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Consulte también

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