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

Обработка исключительных ситуаций - C++

Восстановить пароль Регистрация
 
artemi
0 / 0 / 0
Регистрация: 03.02.2010
Сообщений: 21
26.04.2010, 21:14     Обработка исключительных ситуаций #1
Помогите сделать обработку исключительных ситуаций
вот мой код:
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
62
63
64
65
66
67
68
69
70
71
72
73
#include <iterator>
#include "conio.h"
#include <iostream>
#include <set>
#include <algorithm>
#include <vector>
using namespace std;
typedef set<int,less<int> >settype;
settype operator*(const settype &S, const settype &T)
{ settype I;
settype::iterator
firstS=S.begin(),lastS=S.end(),firstT=T.begin(),la stT=T.end(),i=I.begin();
while(firstS!=lastS&&firstT!=lastT)
{
if(*firstS<*firstT)++firstS;else
if(*firstT<*firstS)++firstT;else
{
i=I.insert(i,*firstS++);
++firstT;
}
}
return I;
}
settype operator-(const settype &S, const settype &T)
{ settype U;
settype::iterator
firstS=S.begin(),lastS=S.end(),firstT=T.begin(),la stT=T.end(),i=U.begin();
while(firstS!=lastS&&firstT!=lastT)
i=U.insert(i,(*firstS<*firstT? *firstS--: *firstT--));
while(firstS!=lastS)i=U.insert(i,*firstS--);
while(firstT!=lastT)i=U.insert(i,*firstT--);
 
return U;
}
void out(const char *s, const settype&S)
{
cout<<s;
copy(S.begin(),S.end(),ostream_iterator<int>(cout, " "));
cout<<endl;
}
int bd()
{
int aT[5];
for(int i=0;i<5;i++){
cout<<"Mn 1 element :";cin>>aT[i];
}
int aS[5];
for(int i=0;i<5;i++){
cout<<"Mn 2 element :";cin>>aS[i];
}
 
settype S(aS,aS+5),
T(aT,aT+5);
out("S= ",S);
out("T= ",T);
out("S*T =",S*T);
out("S-T =",S-T);
getch();
 
return 0;
}
int main()
{
try{
bd();
}
catch(...)
{
cout<<"situciy";
getch();
}
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
26.04.2010, 21:49     Обработка исключительных ситуаций #2
А в чём собсна проблема?
В приведённом коде уже есть обработка. Какие исключения нужно ловить?
artemi
0 / 0 / 0
Регистрация: 03.02.2010
Сообщений: 21
26.04.2010, 21:54  [ТС]     Обработка исключительных ситуаций #3
я может не так все понимаю просто думал при работе обработчика будет сообщение , но его нет
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
26.04.2010, 22:31     Обработка исключительных ситуаций #4
нет исключений - нет сообщений

например здесь будет
C++
1
2
3
4
5
6
7
8
9
10
11
    try
    {
        float x = 5;
        float zero = 0;
        float error = x/zero;
    }
 
    catch (...)
    {
        ShowMessage ("исключительная ситуация");
    }
вот более культурная ловля
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    try
    {
        float x = 5;
        float zero = 0;
        float error = x/zero;
    }
    catch (const EZeroDivide &E)
    {
        ShowMessage ("деление на 0");
    }
    catch (...)
    {
        ShowMessage ("???");
    }
Добавлено через 7 минут
пардон, ShowMessage не из этой оперы, вместо него cout
artemi
0 / 0 / 0
Регистрация: 03.02.2010
Сообщений: 21
26.04.2010, 22:54  [ТС]     Обработка исключительных ситуаций #5
все понял
спасиба!!
Yandex
Объявления
26.04.2010, 22:54     Обработка исключительных ситуаций
Ответ Создать тему
Опции темы

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