Есть несколько классов исключений , чтоб не разводить
несколько "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() ?
Заранее спасибо .