Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
noexcept вместо throw().throw() работает для всех методов. Что в общем-то равноценно тому же noexcept из нового стандарта, потому что инструкцию типа throw(std::runtime_error) студия всё равно заигнорит.Что, если кто-то проанализирует исключение и решит передать его дальше?
Что, если возникнет исключение в самом визиторе?
У нас принято, что исключения не хранят в себе никаких сообщений об произошедшей ошибке( так как за ними придется лезть в ресурсы )
s/_exception.visit( visitor );/_exception.accept( visitor );/
В этой статье я попытался поделиться решением, которое как мне показалось, оптимальное для решения моих задач.
std::string getErrorText( ResourceManager & _res )
Паттерн Visitor для обработки иерархии исключений