Atrapando excepciones en destructores.

¿Es posible hacer excepciones de captura de un destructor y luego volver a lanzarlas?
Si es así, ¿cómo haría eso, ya que no hay un lugar claro para untry ¿declaración?

Básicamente, lo ideal es hacer:

CMyObject::~CMyObject()  
{
    catch(...)    // Catch without a try.  Possible?
    {
        LogSomeInfo();
        throw;  // re-throw the same exception
    }
    // Normal Destructor operations
}

Fondo
Tengo una aplicación grande y compleja que está lanzando una excepción no controlada en algún lugar. No tengo fácil acceso amain o la bomba de mensajes de nivel superior o algo similar, por lo que no hay un lugar fácil para detectar todas las excepciones no controladas.

Me imagino que cualquier excepción no controlada tiene que pasar por un grupo de destructores a medida que la pila se desenrolla. Por lo tanto, estoy contemplando dispersar un montón decatch Declaraciones en destructores. Entonces, al menos sabría qué objetos están en juego cuando se lanza la excepción. Pero no tengo idea de si esto es posible, o aconsejable.

Respuestas a la pregunta(3)

Su respuesta a la pregunta