То, что я заметил только что. Определение исключения
в стандарт (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 позволяет вам указать сообщение об ошибке для объекта исключения
, тогда как стандартная версия позволяет делать это только для производных классов (но не мешает вам создавать общее исключение
с неопределенным сообщением).
Я знаю, что это довольно несущественно, но все же. Есть ли для этого веская причина?