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

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

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

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

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

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

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

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

Текущее время: 01:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru