- 1
- 2
- 3
- 4
- 5
- 6
- 7
template<class Exception>
bool GenerateException(const Exception* const e)
{
throw e;
delete e;
return true;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+175
template<class Exception>
bool GenerateException(const Exception* const e)
{
throw e;
delete e;
return true;
}
Продолжение цикла говнокодов про исключения из того же самого проекта.
Проблем от неё почти нет, тк в основном исключения генерятся так:
ExceptionТакойто e;
GenerateException(&e);
А если это как-то работает, то только засчет того, что ловец исключения не доступается к "нутру" пойманного "по указателю" объекта. Т.е. причина "работоспособности" тут не в том, как исключение бросается, а в том, как оно ловится.
Или деструктор вызывается, но критического ничего не удаляет, что дальше позволяет использовать память удаленного объекта, как ещё целый.
bool GenerateException(const int* const e)
Мы по коду узнать это здесь не можем.