Есть несколько классов исключений , чтоб не разводить
несколько "catch-ей" решил унаследовать их от std::exception
и перехватывать как ссылку на родителя .
Напр.
#include <exception>
#include <iostream>
class my_exception:public std::exception{
public:
my_exception(const char* str)throw():error_message(str){}
virtual ~my_exception()throw(){}
virtual const char* what()throw(){return error_message.c_str();}
private:
std::string error_message;
};
int main()
{
try{
throw my_exception("MY_EXCEPT");
}catch(std::exception& err){
std::cout<<err.what()<<std::endl;
return 0;
}
}
метод what() возвращает название класса , в моём случае
"12my_exception" независимо от error_message.
Какая сигнатура должна быть у what() ?
Заранее спасибо .
Ответ на:
комментарий
от GPFault
Ответ на:
комментарий
от Legioner
Ответ на:
комментарий
от aton
Ответ на:
комментарий
от Legioner
Ответ на:
комментарий
от fghj
Ответ на:
комментарий
от cobold
Ответ на:
комментарий
от Legioner
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Валится на throw (2005)
- Форум Множественное наследование и try/catch inderect base, C++ (2008)
- Форум C++/exceptions - деление на ноль не ловиццо, почему? (2006)
- Форум Багофича эксепшенов с++ ? (2013)
- Форум std::cout вместе с std::wcout (2009)
- Форум вопрос по исключениям в с++ (2005)
- Форум Продолжим про исключения!! (2007)
- Форум [c++] iterator exception (2010)
- Форум Logger on C++ ... вроде все правильно ... (2005)
- Форум проблемы с std::variant of lambda (2020)