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