Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
#1

Try и catch - C++

23.02.2014, 11:47. Просмотров 376. Ответов 5
Метки нет (Все метки)

Пытался сделать простую структуру,чтобы в блоке try задавалось значение переменной x, и если это значение равно,например, 5,то блок catch выдавал бы сообщение об ошибке.Дело в том,что я не совсем понял,что нужно писать в скобках catch(),чтобы его вызвать,пробовал писать if(x==5),но ему не нравиться.Помогите рукожопу.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int x;
 
int main()
{
 
 try
 {
 cout<<"x=";
  cin>>x;
 }
 
 catch()/*Что нужно написать в скобках?*/
 {
 cout<<"Error!"<<endl;
 }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2014, 11:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Try и catch (C++):

Try-catch - C++
Добрый вечер, #include &lt;iostream&gt; using namespace std; void F1(int); void F2(int, int); void F3(int, int, int);

try-catch - C++
Доброго времени суток, начал изучать исключения, и вот есть такой код: // new.cpp : Defines the entry point for the console...

Try catch - C++
try { throw pDoc-&gt;C; } catch (City) { return; } есть динамический City* C, ему присвается значение другого такого...

TRY/CATCH - C++
Здравствуйте! У меня есть: MASS; для простоты пояснения, x=rand();y=rand(),znacheniye=rand(); Как игнорировать ошибки...

try-catch - C++
Какой тип проекта создавать в Visual Studio чтобы можно было сделать обработку исключений с try-catch? Или что сделать в Code Blocks с той...

try . catch - C++
можно ли провести данную операцию для функции erase у вектора??? пытался, что-то не получилось: #include &lt;vector&gt; #include &lt;algorithm&gt; ...

5
Croessmah
Ушел
Эксперт CЭксперт С++
13554 / 7705 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
23.02.2014, 11:50 #2
В скобках тип исключения или "..." для ловли всех исключений.
Само исключение выбрасывается в блоке try
1
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
23.02.2014, 11:52  [ТС] #3
Ну как же записать,чтобы она вызывалась при x==5?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13554 / 7705 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
23.02.2014, 11:53 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
 try
 {
 cout<<"x=";
  cin>>x;
  if ( x==5 )
     throw x ;
 }
 
 catch(...)/*Что нужно написать в скобках?*/
 {
 cout<<"Error!"<<endl;
 }
Но лучше почитать о исключениях, и кидать нормальные объекты, а не как тут инты
1
zss
Модератор
Эксперт С++
6539 / 6101 / 2010
Регистрация: 18.12.2011
Сообщений: 15,876
Завершенные тесты: 1
23.02.2014, 11:54 #5
Пример со структурой
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
#include <iostream>
struct X
{
    int x;
    X(int x0)
    {
        if(x0==0)
            throw "ZEROW";
        x=x0;
    }
};
int main()
{
 
 try
 {
    X a(0);
 }catch(char err[])
 {
     std::cout<<"Error="<<err<<std::endl;
 }
 system("pause");
 return 0;
 
}
1
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
23.02.2014, 11:58  [ТС] #6
Ну в книге используются объекты в примерах,просто поинтересовало,можно ли использовать что-то другое вместо них.
0
23.02.2014, 11:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2014, 11:58
Привет! Вот еще темы с ответами:

try-catch - C++
Читаю книгу Страуструпа. Он пишет (стр 232), что можно не передавать обработчику исключений какое либо значение. #include...

try catch - C++
Здравствуйте. В c++ новичёк, с try catch никогда толком не работал, а тут пришлось. Нужно сделать защиту от ввода всего кроме цифр. вот...

Исключение try catch - C++
Добрый вечер, в программе пользователю предлагается ввести ключ, значение, принимающее ключ имеет тип int, проблема в том, что не могу...

Catch(.) не срабатывает - C++
Имеется такой фрагмент код: HANDLE hData = GetClipboardData(CF_TEXT | CF_LOCALE); char* chBuffer = (char*)GlobalLock(hData); try...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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