MarshalManagedExceptionMode Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Esta enumeración se usa para especificar qué hacer cuando se produce una excepción administrada y esa excepción alcanza el código nativo.
public enum MarshalManagedExceptionMode
type MarshalManagedExceptionMode =
- Herencia
-
MarshalManagedExceptionMode
Campos
| Nombre | Valor | Description |
|---|---|---|
| Default | 0 | Modo predeterminado. Actualmente es lo mismo que ThrowObjectiveCException. |
| UnwindNativeCode | 1 | Deje que el entorno de ejecución desenrede los fotogramas nativos. Esta opción solo está disponible cuando se usa el entorno de ejecución de MonoVM, no cuando se usa coreCLR runtime. El entorno de ejecución de CoreCLR no admite el desenredado de fotogramas nativos y simplemente anulará el proceso en su lugar. El tiempo de ejecución de CoreCLR se usa en una aplicación macOS (no Mac Catalyst) o cuando se usa NativeAOT. Esta opción no se recomienda, ya que conduce a un comportamiento indefinido (la aplicación puede bloquearse, perder memoria, interbloqueo, etc.) si las excepciones administradas llegan al código nativo (el tiempo de ejecución de MonoVM no sabe cómo desenredar fotogramas nativos, por lo que todo puede ocurrir). La opción recomendada es ThrowObjectiveCException. |
| ThrowObjectiveCException | 2 | Convierta la excepción administrada en una excepción de Objective-C. Esta es la opción recomendada (y también el comportamiento predeterminado). |
| Abort | 3 | Anule cuando una excepción administrada alcance el código nativo. Esto puede ser útil durante la depuración para detectar fácilmente cuando las excepciones administradas llegan al código nativo. |
| Disable | 4 | Deshabilite la serialización de excepciones administradas. Esto es efectivamente el mismo que UnwindNativeCode, salvo que no se generará ningún evento. |