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

Ошибка: expected primary-expression before 'catch' - C++

Восстановить пароль Регистрация
 
Alex_Kane
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 7
18.05.2014, 22:48     Ошибка: expected primary-expression before 'catch' #1
Компилятор выдает ошибки
"error: expected primary-expression before 'catch' "
"error: expected ';' before 'catch' "
Собственно, в чем проблема?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
        while (true) {
            cout << "Name: ";
            cin >> name;
            for (int i = 0; i < name.length(); i++)
                if (isdigit(name[i]))
                    throw 1;
 
            catch (int) {
                cout << "Name is wrong. Try again." << endl;
                continue;
            }
            break;
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2014, 22:48     Ошибка: expected primary-expression before 'catch'
Посмотрите здесь:

Ошибка expected primary-expression before "long" C++
C++ Ошибка expected primary-expression before ';' token
C++ DEV C++ ошибка expected primary-expression before '<<' token
C++ Expected primary-expression before
C++ Ошибка в switch case: expected primary-expression before '<=' token;
C++ Ошибка компиляции expected primary-expression before 'int'
Error: expected primary-expression before 'p'| C++
Ошибка: expected primary-expression before '.' token C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
18.05.2014, 22:55     Ошибка: expected primary-expression before 'catch' #2
Цитата Сообщение от Alex_Kane Посмотреть сообщение
Собственно, в чем проблема?
в том, что catch - это вторая часть составного оператора try/catch
сначала надо писать try - потом catch, например так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while (true)
{
    try
    {
        cout << "Name: ";
        cin >> name;
        for (int i = 0; i < name.length(); i++)
            if (isdigit(name[i]))
                throw 1;
    }
    catch (int)
    {
        cout << "Name is wrong. Try again." << endl;
        continue;
    }
    break;
}
Alex_Kane
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 7
18.05.2014, 23:00  [ТС]     Ошибка: expected primary-expression before 'catch' #3
Точно. Спасибо за ответ.
Yandex
Объявления
18.05.2014, 23:00     Ошибка: expected primary-expression before 'catch'
Ответ Создать тему
Опции темы

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