Содержание
- 2. Исключительная ситуация (исключение, exception) — это ошибка времени выполнения программы или иная (возможно внешняя) проблема, приводящая
- 3. Синхронные – возникают только в определённых, заранее известных точках программы. Примеры: ошибка чтения файла или коммуникационного
- 4. Обработка ошибок в языке С – функция возвращает код ошибки int DoSomething() { long *a =
- 5. Реакция программы на ошибку (исключение) 1) прекращение выполнения программы 2) попытка исправить ситуацию 3) если исправление
- 6. Ключевые слова С++ throw (бросать) – генерация исключения, то есть сигнала о возникновении ошибки; try (пытаться)
- 7. Обработка исключения начинается с появления ошибки. Функция, в которой возникла ошибка, генерирует исключение. Синтаксис throw выражение;
- 8. Обработка исключения производится внутри контролируемого блока, то есть набора потенциально опасных операторов, выполнение которых может привести
- 9. Обработчик исключения располагается непосредственно за блоком try и начинается с ключевого слова catch. Вслед за ним
- 10. #include class Hello { // Класс, информирующий о своем // создании и уничтожении public: Hello(){ cout
- 11. void f1() // функция, содержащая ошибку { ifstream ifs("\\INVALID\\FILE\\NAME"); if (!ifs) { cout throw "Ошибка открытия
- 12. int main() { try { cout f2(); cout } catch(int i) { cout return -1; }
- 13. ... catch(const char *p) { cout \nИсключение - " return -1; } catch(...) { cout исключений"
- 14. Последовательность событий при возникновении ошибки 1) Код выполняется стандартно вне контролируемого блока try. 2) Управление переходит
- 15. #include using namespace std; const int MAX = 3; // 3 элемента class Stack { private:
- 16. void push(int var) { if(top >= MAX-1) //если стек полон, throw Range(); //исключение st[++top] = var;
- 17. int main() { Stack s1; try { s1.push(11); s1.push(22); s1.push(33); s1.push(44); //Стек переполнен! cout cout cout
- 19. Скачать презентацию