рудования или нехватки памяти)

Автор admin Понедельник, 4 мая 2009 11:32

рудования или нехватки памяти). В обоих классах, runtime_error и logic_error, определен конструктор с аргументом std::string. Он позволяет сохранить сообщение в объекте исключения и извлечь его позднее с помощью функции exception::what(), как это сделано в следующем примере: //: C01:StdExcept.cpp // Создание класса исключения, производного от std::runtime_error #include #include using namespace std: class MyError : public runtime_error { public: MyError(const string& msg = “”) : runtime_error(msg) {} }: int mainO { try { throw MyErrorC’my message”): } 44 Глава 1 • Обработка исключений catch (МуЕгтог& х) { cout « х.what О « endl; } } III- Хотя конструктор runtime_error сохраняет сообщение в подобъекте std::exception, класс std::exception не содержит конструктора с аргументом std::string. Обычно классы исключений объявляются производными не от std::exception, а от runtime_error или logic_error (или одного из их потомков). Ниже кратко описаны основные классы исключений. exception Базовый класс для всех исключений, генерируемых стандартной библиотекой С++. Функция whatQ возвращает не


Комментарии закрыты.