Разве так нельзя писать?
-----------------------------------------------------------------
#include <exception>
#include <iostream>
class my_error: public std::exception {
private:
        std::string m_err;
public:
        my_error(const std::string &err) throw() : m_err(err) {}
        ~my_error() throw() {}
        virtual const char* what() const throw() { return m_err.c_str(); }
};
int main(void)
{
        try     {
                throw my_error("FATAL ERROR");
        }
        catch(my_error &e)      {
                std::cout << "exception handled: " << e.what() << std::endl;
        }
        return 0;
}
-----------------------------------------------------------------
Если компилирую кросскомпилятором sh4-linux-gcc v3.0.3 - валится по сегфолту на throw
Компилирую gcc v3.4.3 - все работает.
Это работает и там и там:
-----------------------------------------------------------------
#include <exception>
#include <iostream>
class my_error: public std::exception {
private:
        const char *m_err;
public:
        my_error(const char *err) throw() : m_err(err) {}
        ~my_error() throw() {}
        virtual const char* what() const throw() { return m_err; }
};
int main(void)
{
        try     {
                throw my_error("FATAL ERROR");
        }
        catch(my_error &e)      {
                std::cout << "exception handled: " << e.what() << std::endl;
        }
        return 0;
}
-----------------------------------------------------------------

    
      Ответ на:
      
          комментарий
        от aton 
  


    
      Ответ на:
      
          комментарий
        от AnToXa 
  
    
      Ответ на:
      
          комментарий
        от dlomin 
  
    
      Ответ на:
      
          комментарий
        от vasirck 
  
    
      Ответ на:
      
          комментарий
        от dlomin 
  
    
      Ответ на:
      
          комментарий
        от aton 
  
    
      Ответ на:
      
          комментарий
        от dlomin 
  
    
      Ответ на:
      
          комментарий
        от aton 
  
    
      Ответ на:
      
          комментарий
        от dlomin 
  
    
      Ответ на:
      
          комментарий
        от aton 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум Как правильно наследовать от std::exception ? (2007)
- Форум Множественное наследование и try/catch inderect base, C++ (2008)
- Форум Багофича эксепшенов с++ ? (2013)
- Форум C++/exceptions - деление на ноль не ловиццо, почему? (2006)
- Форум вопрос по исключениям в с++ (2005)
- Форум boost.asio, boost.serialization (2010)
- Форум Logger on C++ ... вроде все правильно ... (2005)
- Форум Продолжим про исключения!! (2007)
- Форум C++ iostream::failbit (2005)
- Форум [C++] Перегрузка new и delete в производном классе (2011)