Если я хочу писать полезную информацию в файл всякий раз, когда я поймал исключение catch-all, как это сделать?Как получить сообщение об исключении catch-all
try
{
//call dll from other company
}
catch(...)
{
//how to write info to file here???????
}
Какое сообщение вы хотели бы выбрали вне исключения? Что делать, если объект брошен - это 'int'? Когда вы 'catch (...)', вы не знаете, что обнаруженное исключение будет иметь * сообщение *. – jalf
Этот вопрос дал мне странную мысль (это не сработает, но было бы забавно, если бы это было так): template catch (const T & ex) {...} Я не думаю, что это может сработать с тех пор исключения - это скорее механизм выполнения ... или не так ли? Механизмы разворачивания стека, связанные с выбросом исключения и ветвлением в правильный блок catch, кажутся мне волшебными. Возможно, правильный блок catch для ветки до сих пор определяется во время компиляции, что объясняет одну из причин, почему так опасно бросать границы модулей. –
stinky472