Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Диана123
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 19
#1

Исключения и утверждения в с++ - C++

12.06.2014, 19:48. Просмотров 237. Ответов 2
Метки нет (Все метки)

можете понятными словами раскрыть всю суть утверждений и исключений. не могу понять
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 19:48     Исключения и утверждения в с++
Посмотрите здесь:

Определить истинные следующие утверждения: - C++
Определить истинные следующие утверждения: a) «любое выражение в Си может быть преобразован в оператор добавлением к нему точки с запятой...

Отметьте все верные утверждения - C++
struct String { /* ... */ char & at(size_t idx) { return str; } char at(size_t idx) const { return str; } ...

Какие утверждения являются верными? - C++
1) Операторы циклов for, while и do while не являются взаимозаменяемыми 2) Проверка условия выполняется на каждой итерации цикла 3) В...

Выберите все верные утверждения - C++
1) Если в базовом классе виртуальная функция определена как private, то в производном классе её можно переопределить как public. 2) У...

Выберите все верные утверждения из списка - C++
1.Если в коде C++ вы вызываете необъявленную функцию, то это ошибка этапа компиляции. 2.Если в коде C++ вы вызываете функцию, которая...

Составить программу для проверки утверждения - C++
Составить программу для проверки утверждения: «Результа¬тами вычислений по формуле , при 0 < х < 15 явля¬ются простые числа». Все...

Указать верные утверждения в тесте по основам c++ - C++
Не могу понять, где ошибаюсь в тесте, нужно отметить только верное: 1) Синтаксис программы на C++ проверяется на этапе компиляции. 2)...

Составить программу для проверки утверждения - C++
Составить программу для проверки утверждения: «Результатами вычислений по формуле х^2 + х + 17 при 0 <= х <= 15 являются простые числа»....

Составить программу для проверки утверждения - C++
Составить программу для проверки утверждения"Результатами вычислений по формуле X^2+x+17 при 0<=x<=15 являются простые числа, все...

Отметьте все верные утверждения относительно вызова функции foo - C++
Есть три версии функции foo: void foo(char) { std::cout << "char" << std::endl; } void foo(signed char) { std::cout << "signed char"...

Составить программу для проверки утверждения: «Результатами вычислений по формуле х2 +х+ 17 при 0<х< 15 являют - C++
Составить программу для проверки утверждения: «Результатами вычислений по формуле х2 +х+ 17 при 0&lt;х&lt; 15 являются простые числа». Все...

Составить программу для проверки утверждения: Результаты вычислений по формуле - простые числа - C++
Составить программу для проверки утверждения: «Результа*тами вычислений по формуле х2 +х+ 17 при 0&lt;х&lt; 15 являются простые числа». Все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
12.06.2014, 20:06     Исключения и утверждения в с++ #2
утверждения - assert - проверка некоторого условия в процессе компиляции (static_assert) или исполнения в отладочном режиме, которое должно выполняться вне зависимости от исходных данных, т.е. нарушение этого условия говорит о неправильно написанном алгоритме программы.
исключения - exception - механизм прерывания исполнения кода в случае ошибки (инструкцией throw внутри блока try), с возможностью дальнейшей обработки в соответствующем блоке catch. Для исключений принято использовать специальные (стандартные или пользовательские) классы. Часто создают иерархию таких классов. Исключения, в частности, бывают полезны при возникновении ошибки в конструкторе класса (т.к. конструктор не имеет возвращаемого значения).
Renji
1878 / 1276 / 290
Регистрация: 05.06.2014
Сообщений: 3,642
12.06.2014, 20:12     Исключения и утверждения в с++ #3
assert(условие)
В дебаг-сборке: проверить условие. Если не выполняется - вылетает ошибка и программа вываливается в отладчик. Если выполняется - ничего не происходит.
В релиз-сборке: не делать ничего. Вообще ничего. Если все же что-то происходит, значит настройки релиз-сборки кривые.

throw информация_о_ошибке - выполнять return, return, return отсюда и до первого подходящего catch блока. cath блок как-то там обрабатывает "информация_о_ошибке" (например, выводит на печать), программа работает себе дальше. Работа возобновляется после catch блока, а не там где вы кинули исключение.

Резюмируя: assert - произошла ошибка, разбираться с ней должен программист с отладчиком. throw - произошла ошибка, программа должна с ней как ни будь сама разобраться.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru