Определить тип исключения в деструкторе
От: Abulafia  
Дата: 18.05.09 05:57
Оценка:
Пишу трассировщик для проги; перед компиляцией
в каждое тело функции простеньким скриптом
вставляется создание объекта Tracer:

Было:
void someFunc()
{
  doSomethingElse();
}


Стало:
void someFunc()
{
  Tracer _tracer("someFunc()");
  doSomethingElse();
}


В конструкторе -- вывод ">> someFunc()" в лог, в деструкторе -- вывод "<< someFunc()".

Ну, вы знаете. Очевидная и уже тыщщу раз обмусоленная тема.

Теперь захотелось ещё отслеживать исключения. Факт исключения отслеживатеся функцией
std::uncaught_exception(), это мне известно.

Но вот как получить доступ к объекту исключения? Хочется вызвать у этого объекта
метод what(), чтобы получить информацию об исключении.

Есть какие-то способы это сделать, пусть даже непортабельные? Хотя бы даже в gcc?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.