Есть ли в стандарте что-либо сказать об исключении, которое перехватывается ссылкой, и что происходит с попытками его изменить?
Рассмотрим следующий код:
class my_exception: public std::logic_error
{
public:
std::vector<std::string> callstack;
};
void MyFunc()
{
try
{
SomethingThatThrows();
}
catch (my_exception & e)
{
e.callstack.push_back("MyFunc");
throw;
}
}
Этонадуманный пример, я на самом деле не пытаюсь что-то подобное.Мне было просто любопытно, что произойдет, основываясь на предположении в другом потоке, что исключения должны быть перехвачены ссылкой const .