Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.133.144.197] |
|
Сообщ.
#1
,
|
|||||
|
Добрый день! У меня есть вопрос: как сделать собсвенный класс обработки исключений нападобие CException в MFC и std::exception в STL. Можно это реализовать так чтобы не надо было делвать так:
А чтобы в исключение передавалась информация о ошибке автоматически как std::exception
то есть без throw.
|
Сообщ.
#2
,
|
|||
|
Как это без throw.
Оно есть всегда, только не всегда видно(находится в подпрограмме). |
Сообщ.
#3
,
|
|||
|
Например, так:
|
Сообщ.
#4
,
|
|||
|
а можно без наследования от std::exception |
Сообщ.
#5
,
|
|
|
Можно и без наследования. Ты можешь хоть int выкинуть. Другой момент - что так лучше (ИМХО).
|
Сообщ.
#6
,
|
|
|
В чем собственно проблема? Чем тебе наследование не угодило?
|
Сообщ.
#7
,
|
|||
|
Во первых - хочется написать что то свою и с нуля Во вторых - разобраться с исключениями потщательней |
Сообщ.
#8
,
|
|
|
А на счет наследования: можно ли сразу сделать наследование и от std::exception и от CException ?
И как в таком случае надо будет использовать получившийся класс? |
Сообщ.
#9
,
|
|
|
Что значит "сразу"? Если ты унаследуешь свой класс исключения от одного из указанных - то исключение с таким классом будет ловиться обработчиками исключений всех базовых классов.
|
Сообщ.
#10
,
|
|||||
|
Я имел ввиду так
|
Сообщ.
#11
,
|
|
|
Можешь и так.
|
Сообщ.
#12
,
|
|||
|
А как тогда такой класс использовать? |
Сообщ.
#13
,
|
|
|
Как и любой другой. А в чем сложности?
|
Сообщ.
#14
,
|
|||
|
я имел ввиду, будет ли он обрабатывать исключений MFC и стандартные исключения с++? |
Сообщ.
#15
,
|
|
|
Должен.
|
Сообщ.
#16
,
|
|||
|
А как узнать какое исключение сработало, MFC или стандартное с |