Почему std :: исключение: есть ли дополнительные конструкторы в VC ++?

То, что я заметил только что. Определение исключения в стандарт (18.6.1):

class exception {
public :
    exception() throw();
    exception(const exception &) throw();
    exception& operator=(const exception&) throw();
    virtual ~exception() throw();
    virtual const char* what() const throw();
};

Определение исключения в MSDN :

class exception {
public:
   exception(); 
   exception(const char *const&);
   exception(const char *const&, int);
   exception(const exception&); 
   exception& operator=(const exception&); 
   virtual ~exception();
   virtual const char *what() const;
};

Это будет похоже, что версия Microsoft позволяет вам указать сообщение об ошибке для объекта исключения , тогда как стандартная версия позволяет делать это только для производных классов (но не мешает вам создавать общее исключение с неопределенным сообщением).

Я знаю, что это довольно несущественно, но все же. Есть ли для этого веская причина?

24
задан suszterpatt 1 March 2011 в 16:20
поделиться