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

Обработка исключений - C++

Восстановить пароль Регистрация
 
Ya
2 / 2 / 0
Регистрация: 05.12.2011
Сообщений: 23
05.12.2011, 18:02     Обработка исключений #1
Подскажите пожалуйста как продолжить выполнение программы после срабатывания оператора catch.
catch завершает программу, но ее нужно продолжить. Например для переввода значения.

C++
1
2
3
4
5
6
7
8
9
10
catch (Exp_mas &obj)
{
while( cin.fail() || i<0 )
{
cout<<"Неверный символ, повторите ввод"<<endl;
cin.clear();
_flushall();
cin>>i;
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2011, 18:02     Обработка исключений
Посмотрите здесь:

C++ обработка исключений
C++ Обработка исключений
Обработка исключений C++
Обработка исключений C++
C++ Обработка исключений
Обработка исключений C++
Обработка исключений C++
C++ Обработка исключений

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
06.12.2011, 12:29     Обработка исключений #2
Ya, catch не завершает программу, просто программа продолжает выполнение после последнего catch-обработчика для того try, в котором было возбуждено исключение. Пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    try
    {
        std::cout << "Hello";
 
        throw 1;
    }
    catch (int)
    {
        std::cout << ", ";
    }
 
    std::cout << "World!" << std::endl;
 
    return 0;
}
Yandex
Объявления
06.12.2011, 12:29     Обработка исключений
Ответ Создать тему
Опции темы

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