try tipos manejo excepción excepciones ejemplo catch c# .net exception try-catch throw

manejo - tipos de excepciones en c#



¿Cómo funcionan las excepciones(entre bastidores) en C#? (3)

Idéntico a " Cómo funcionan las excepciones (entre bastidores) en C ++ ", pero para C # .

Sé que los siguientes pasos deben realizarse cuando se lanza una excepción.

  1. Encuentra el controlador más cercano para el tipo de excepción;
  2. Desenrolle la pila hasta el nivel de controlador;
  3. Llama al manejador;
  4. Encuentra y llama a cada bloque finally .

¿Cómo maneja .NET estas operaciones? ¿Cómo funciona el mapeo de los controladores "actuales"? ¿Cuánto código se emite en un bloque try / catch? ¿Y en un bloque de tiro?



Las excepciones de .NET utilizan la implementación subyacente del manejo de excepciones estructuradas de Windows, aunque esto no es un requisito. Mono puede hacerlo de manera diferente.

De hecho, si escribe una aplicación de consola de una sola línea que simplemente lanza una excepción y luego la ejecuta en Windbg, verá el gancho en el manejo de excepciones no administradas.