Re: Наследование класса std::exception
От: wander  
Дата: 01.07.10 17:49
Оценка: 3 (2)
Здравствуйте, Mak_71_rus, Вы писали:

M__>Здравствуйте, форумчане!


M__>Подскажите пожалуёста, если я создаю собственный класс ошибок, всегда ли он должен быть производным от std::exception?


M__>Я решил написать класс rational, представляющий смешанное число. В результате сложения может призойти переполнение, или может быть попытка присвоить знаменателю нулевое значение — всё это исключительные ситуации. Я создал простую иерархию классов ошибок, базовый класс содержит только номер ошибки, а все производные — функцию-член, возвращающие этот номер. Мне кажется, такая система удобна в отладке, но стоит ли её оставлять как есть? Может лучше наследовать базовый класс от std::exceptin? Просто все строки, возвращаемые функцией what занимают места намного больше, чем сам экземпляр класса.


Мое мнение — наследовать нужно. Это считается хорошим тоном. Если вы пишете библиотеку, то такое поведение является естественно ожидаемым.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.