0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 3
|
|
1 | |
Механизмы обработки исключений / Нужен пример19.05.2012, 21:06. Просмотров 5677. Ответов 21
Метки нет Все метки)
(
Пишу курсовую работу на тему, аналогичную заголовку этой темы. Проблема в том, что у нас убрали пары по программированию во втором семестре. Поэтому мы так и не знаем толком ничего. Я бы хотел попросить уважаемых форумчан о помощи: нет ли у кого простенькой программы которая использовала бы исключения (нужно для практической части курсовой). В практической части мне нужно сравнить программу без использования исключений и с их присутствием. Буду очень рад любой помощи. Для практической части мне подойдёт самый что ни на есть простой пример. Может у кого-нибудь, что-нибудь да есть?
0
|
|
19.05.2012, 21:06 | |
Обработка исключений с пмощью структурированной обработки исключений Создание обработки исключений на даты Mingw и отключение обработки исключений Проверить правильность обработки исключений
__________________
21
Помогаю в написании студенческих работ здесь. Записывайтесь на профессиональные курсы C++ разработчиков |
|
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 624
|
||||||
19.05.2012, 22:00 | 2 | |||||
Вот самый простейший пример использование перехвата ошибок как с исключениями, так и через функции возвращающие/устанавливающие код ошибки
1
|
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 3
|
|
19.05.2012, 22:51 [ТС] | 3 |
Спасибо, огромное! Если не сложно, нельзя описать что именно делает программа?
Я с удовольствием готов отблагодарить (пиши в ЛС)
0
|
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 624
|
|
19.05.2012, 22:56 | 4 |
Да ровным счётом ничего программа и не делает
![]()
1
|
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 3
|
|
19.05.2012, 23:02 [ТС] | 5 |
У меня сейчас просто нет компилятора под рукой, я вот глазами пробежал и тоже действий не увидил. А возможно ли как-то её связать с курсовой? там как раз и нужно это все продемонстрировать))) там вообще входные данные нужны какие-нибудь?
0
|
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 624
|
||||||
19.05.2012, 23:07 | 6 | |||||
Нет, не нужны. Но сделать это 5 секунд. Например, программа вычисляющая деление двух чисел
3
|
0 / 0 / 0
Регистрация: 20.08.2012
Сообщений: 4
|
|
21.08.2012, 23:00 | 7 |
А у меня ошибку выдает, когда пытаюсь с исключениям код откомпилировать.
0
|
20 / 20 / 1
Регистрация: 06.07.2012
Сообщений: 88
|
|
22.08.2012, 01:19 | 8 |
Yafik, обработка исключений подробно описывается в "Как программировать на С++" (глава 16, 5\е). Должно помочь в понимание темы.
1
|
Комп_Оратор)
![]() |
|
22.08.2012, 01:48 | 9 |
Мне нравятся эти книжки, если для начала:
"Программирование. Принципы и практика использовния С++" Б. Страуструп //расписана логика //для человека никогда об исключениях не слыхавшего. Видно, чем в принципе, механизм встроенный в язык //отличается, от обработки ошибок своими силами. "С++ Базовый курс." Герберт Шилдт //кратко, строго и четко изложено. //вместе эти книжки, ещё лучше чем по-одельности, но это дело вкуса и вопрос Вашей подготовки. ![]()
0
|
2 / 2 / 0
Регистрация: 18.02.2012
Сообщений: 21
|
|
05.04.2013, 19:53 | 11 |
Не "откомпилировать", а запустить и отладить. На скриншоте видно, что компиляция и сборка проекта у Вас прошла успешно. Debugger Exception Notification - это оповещение отладчика об исключении, это нормально.
Чтобы отключить эти оповещения, нужно зайти в меню "Tools->Debugger Options" и во вкладке "Language Exceptions" убрать галочку(-и) "Stop Delphi(и\или C++) Exceptions". Добавлено через 16 минут У меня у самого есть вопрос. Как при(после) обработке(и) исключения осуществить переход обратно в то место кода, заключенного в блоке "try", где это исключение "выбросилось"? Ведь по-умолчанию, после обработки выполняется код, написанный после блока "catch". К примеру, юзеру предлагается ввести целое число. Если он вводит вместо числа символ ![]() P.S. Кроме "goto", т.к. его использовать - это не по фен-шую ![]()
0
|
![]() |
||||||
05.04.2013, 19:56 | 12 | |||||
Тут удобнее через код возврата конечно.
Но не что не мешает поместить код в цикл.
2
|
~ Эврика! ~
1254 / 1003 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
05.04.2013, 22:48 | 13 |
Не только не по феншую, но ещё и стандартом запрещается. Ну и вообще да, неправильный ввод пользователя — это не ошибка или исключение.
0
|
~ Эврика! ~
1254 / 1003 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
05.04.2013, 23:18 | 15 |
Нет, именно так, как написано. Это не ошибка. Это не исключительная ситуация. "Я не могу понять, что за фигню ты тут написал" — это один из вполне ожидаемых результатов разбора ввода пользователя. Не надо его выделять в какую-то особую категорию (ну, кроме того, что этот результат [на логическом уровне] требует повторной попытки ввода). Как вы и сказали, код возврата был бы более закономерным способом сообщить об этом, нежели исключения.
0
|
~ Эврика! ~
1254 / 1003 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
05.04.2013, 23:26 | 17 |
Ну, как сказать... Это больше философский вопрос: что считать ошибкой, исключением и нормальным результатом. Есть вообще exception-driven языки вроде Питона, где даже выход из цикла
0
|
2 / 2 / 0
Регистрация: 18.02.2012
Сообщений: 21
|
||||||
06.04.2013, 17:40 | 19 | |||||
Чтобы уважаемым профессионалам не гадать на кофейной гуще и не уходить в философию... ;-)
Вот мой код:
Больше всего мне, наверное, подходит идея Avazart'а про цикл...
0
|
![]() |
|
06.04.2013, 17:43 | 20 |
printf/scanf + VCL классы - криво ...
А главное ввод через Используй iostream он хотя бы VCL более или менее совместим. (точнее VCL c ним )
0
|
06.04.2013, 17:43 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Как лучше построить механизм обработки ошибок на основе исключений?
Нужен пример внешней обработки заполнения табличной части для управляемых форм Библиотека обработки исключений на Си Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |