Cita de MSDN:finalizador C# throwing exception?
Si Finalizar o una anulación de Finalize arroja una excepción, el tiempo de ejecución ignora la excepción, finaliza ese método Finalize y continúa el proceso de finalización.
Sin embargo, si tengo:
~Person()
{
throw new Exception("meh");
}
entonces da lugar a una excepción de tiempo de ejecución?
p.s. Sé que esto nunca debería suceder, sin embargo, siento curiosidad por este comportamiento. Uno de nuestros clientes tuvo una captura de intento vacía alrededor de todos sus finalizadores ... ni siquiera se registró cuando las cosas salieron mal o relanzó el objeto:/
Nunca debe usar finalizadores de todos modos. Nunca como en, a menos que sepa exactamente por qué tiene que usar eso. – Dykam
"¿entonces resulta en una excepción de tiempo de ejecución?" ¿Estás diciendo que probaste esto y resulta en una excepción? ¿O nos estás pidiendo que probemos esto? – AaronLS
SÍ causa una excepción de tiempo de ejecución. Dykam, gracias por decirme que nunca debería usar finalizadores ... ¡jaja! – sjhuk