Как проектировать класс исключений?

302
28 февраля 2017, 18:09

Что правильней - располагать класс пользовательского исключения в одном хедере с классом, который в основном генерерует исключения этого типа (как, например, boost::any и boost::bad_any_cast - в одном хедере) или же всю иерархию пользовательских классов исключений выносить в отдельное единое место? Кажется, первый вариант предпочтительней, ведь не придется тогда модифицировать какой-то сторонний хедер...

Answer 1

Как по мне, то это зависит от конкретного проекта - что удобнее для понимания, работы и т.д. Если иерархия исключений привязана к классам, с которыми работает - то разумнее конкретные исключения, привязанные к классам, давать вместе с классами.
Если иерархия исключении описывает разные ситуации, которые могут быть в разных классах - разумнее вынести в отдельный файл иерархию исключений.

По-моему, так (с) Пух

READ ALSO
Flex - не понятное предупреждение

Flex - не понятное предупреждение

Я использую генератор лексических анализаторов Flex

257
[C++]Проблема при импорта DLL [требует правки]

[C++]Проблема при импорта DLL [требует правки]

Не могу испольнить этот код на C++

266
Инвертирование числа

Инвертирование числа

Программа должна инвертировать число, но почему-то этого не происходит

250
Visual Studio не находит определение метода [требует правки]

Visual Studio не находит определение метода [требует правки]

Пишу на C++В заголовочном файле делаю объявления (класса), в

303