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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.81
Yafik
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 3
#1

Механизмы обработки исключений / Нужен пример - C++

19.05.2012, 21:06. Просмотров 4222. Ответов 21
Метки нет (Все метки)

Пишу курсовую работу на тему, аналогичную заголовку этой темы. Проблема в том, что у нас убрали пары по программированию во втором семестре. Поэтому мы так и не знаем толком ничего. Я бы хотел попросить уважаемых форумчан о помощи: нет ли у кого простенькой программы которая использовала бы исключения (нужно для практической части курсовой). В практической части мне нужно сравнить программу без использования исключений и с их присутствием. Буду очень рад любой помощи. Для практической части мне подойдёт самый что ни на есть простой пример. Может у кого-нибудь, что-нибудь да есть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 21:06     Механизмы обработки исключений / Нужен пример
Посмотрите здесь:
Mingw и отключение обработки исключений C++
C++ Создание обработки исключений на даты
Как лучше построить механизм обработки ошибок на основе исключений? C++
Привести пример обработки и преобразования матриц, используя динамическое выделение памяти C++
C++ Нужен пример цикла while
Нужен пример хэширования C++
Нужен пример интерфейса C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
Эксперт С++
7119 / 5296 / 273
Регистрация: 10.12.2010
Сообщений: 23,418
Записей в блоге: 17
05.04.2013, 23:19     Механизмы обработки исключений / Нужен пример #16
Как и исключение...

С текстового поля получается данные, которые конвертятЬся в int если неудачно исключение - типичная ситуация ...
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
05.04.2013, 23:26     Механизмы обработки исключений / Нужен пример #17
Ну, как сказать... Это больше философский вопрос: что считать ошибкой, исключением и нормальным результатом. Есть вообще exception-driven языки вроде Питона, где даже выход из цикла (в том числе нормальный) выполняется с помощью исключений.
Avazart
Эксперт С++
7119 / 5296 / 273
Регистрация: 10.12.2010
Сообщений: 23,418
Записей в блоге: 17
05.04.2013, 23:30     Механизмы обработки исключений / Нужен пример #18
Ну исключение != ошибка ...
Исключение может быть вполне нормальным результатом- например исключение при получении ответа сервера с кодом 302 - "перенаправление"
KoNstuNN
1 / 1 / 0
Регистрация: 18.02.2012
Сообщений: 21
06.04.2013, 17:40     Механизмы обработки исключений / Нужен пример #19
Чтобы уважаемым профессионалам не гадать на кофейной гуще и не уходить в философию... ;-)
Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
int main()
{
    /* bla-bla-bla  */
    try
    {
        scanf("%s", buf);
        custom_surname_count = StrToInt(AnsiString(buf));
 
        for (int i=0; i<custom_surname_count; i++)
        {
            printf("Input surname: ");
            scanf("%s", buf);
            surname_buf = AnsiString(buf);
            printf("Input date in format 'dd.mm.yyyy': ");
            scanf("%s", buf);
            p = strtok(buf, ".");
            day = StrToInt(AnsiString(p));
            p = strtok(NULL, ".");
            month = StrToInt(AnsiString(p));
            p = strtok(NULL, ".");
            year = StrToInt(AnsiString(p));
            Bday.insert(make_pair(AnsiString(surname_buf), TDateTime(year,month,day)));
        }
 
        //display full list
        printf("List:\n");
        for (it=Bday.begin(); it!=Bday.end(); ++it)
        {
            printf("%s ", (it->first).c_str());
            printf("%s\n", ((it->second).FormatString("dd.mm.yyyy")).c_str());
        }
        
        //start searching
        printf("Input surname to search: ");
        scanf("%s", buf);
 
        //searching
        printf("Searching...");
        it = Bday.find(AnsiString(buf));
        printf("Completed.\n");
 
        //showing results
        if (it!=Bday.end())
        {
            printf("Results:\n");
            printf("%s ", (it->first).c_str());
            printf("%s\n", ((it->second).FormatString("dd.mm.yyyy")).c_str());
        }
        else
        {
            printf("'%s' not found\n", buf);
        }
    }
    catch(const Exception& ex)
    {
        printf("Exception: %s\n", ex.Message.c_str());
        printf("The program will be terminated.\n");
    }
    system("pause");
    return 0;
}
Сам принудительно никаких исключений не кидаю - поручил это умным методам классов AnsiString, TDateTime и пр.
Больше всего мне, наверное, подходит идея Avazart'а про цикл...
Avazart
Эксперт С++
7119 / 5296 / 273
Регистрация: 10.12.2010
Сообщений: 23,418
Записей в блоге: 17
06.04.2013, 17:43     Механизмы обработки исключений / Нужен пример #20
Цитата Сообщение от KoNstuNN Посмотреть сообщение
Вот мой код:
printf/scanf + VCL классы - криво ...
А главное ввод через одно место буфер .

Используй iostream он хотя бы VCL более или менее совместим. (точнее VCL c ним )
KoNstuNN
1 / 1 / 0
Регистрация: 18.02.2012
Сообщений: 21
06.04.2013, 17:53     Механизмы обработки исключений / Нужен пример #21
Цитата Сообщение от Avazart Посмотреть сообщение
printf/scanf + VCL классы - криво ...
А главное ввод через одно место буфер .

Используй iostream он хотя бы VCL более или менее совместим. (точнее VCL c ним )
Я догадывался, что криво. Но iostream я еще не изучил как следует. Еще не рассказывали про это на лекциях. Это лабораторная. В прошлом семестре нам вообще запрещали почему-то пользоваться потоками ввода\вывода
...Хотя у меня теперь есть повод изучить это самостоятельно. :-)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2013, 17:58     Механизмы обработки исключений / Нужен пример
Еще ссылки по теме:
Нужен пример классов C++
C++ Нужен пример класса
C++ Нужен пример с массивами
Нужен пример шейкерной сортировки C++
C++ Нужен пример вычисления матрицы

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

Или воспользуйтесь поиском по форуму:
Avazart
Эксперт С++
7119 / 5296 / 273
Регистрация: 10.12.2010
Сообщений: 23,418
Записей в блоге: 17
06.04.2013, 17:58     Механизмы обработки исключений / Нужен пример #22
Цитата Сообщение от KoNstuNN Посмотреть сообщение
огадывался, что криво. Но iostream я еще не изучил как следует. Еще не рассказывали про это на лекциях. Это лабораторная. В прошлом семестре нам вообще запрещали почему-то пользоваться потоками ввода\вывода
...Хотя у меня теперь есть повод изучить это самостоятельно. :-)
printf/scanf это Си стиль, а не С++ ( в С++ потоки)
Кроме того в консольных приложениях практически нет смысла использовать VCL.

Кроме того потоки i/o могут как "код состояния" так генерить исключения.

Добавлено через 1 минуту
Цитата Сообщение от KoNstuNN Посмотреть сообщение
Еще не рассказывали про это на лекциях. Это лабораторная. В прошлом семестре нам вообще запрещали почему-то пользоваться потоками ввода\вывода
Лучше б VCL отложили на потом ...
Yandex
Объявления
06.04.2013, 17:58     Механизмы обработки исключений / Нужен пример
Ответ Создать тему
Опции темы

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