Void main(). cout << recode("Введіть значення k =");

{

char k[100];

bool vozv;

 

while(1)

{

vozv = true;

GotoXY(0,0);

cout << " " ;

GotoXY(0,0);

cout << recode("Введіть значення k =");

cin >> k;

 

 

try

{

kontr(k);

}

 

catch (const char* d)

{

GotoXY(1,0);

cout << recode((char*)d);

vozv = false;

}

 

if(vozv)break;

} // while

 

system("cls");

getch();

}

 

У даному прикладі функція IsNumeric() повертає true тільки при введенні цілого числа, в противному випадку – false. У функції kontr() генеруються текстові виключення при невиконанні контролю значень, що вводяться. Слід зазначити, що використання виключень при контролі введення не є кращим варіантом. Приклад наводиться для практики використання виключень.

Розглянемо приклад обробки виключень класу:

 

#include <iostream>

using namespace std ;

 

char* recode(char *txt)

{

static char buf[257];

strcpy(buf,txt);

 

for(unsigned int i=0;i<strlen(buf);i++)

{

if (buf[i]>='А'&&buf[i]<='п')buf[i]-=64;

if (buf[i]>='р'&&buf[i]<='я')buf[i]-=16;

}

 

return buf;

}

Class CTest

{

public:

CTest(){};

~CTest(){};

char *Show()

{return recode("Виключення у класі CTest class");}

};

 

Class CDtorDemo

{

public:

CDtorDemo();

~CDtorDemo();

};

 

CDtorDemo::CDtorDemo()

{

cout << recode("Конструктор") << endl;

}

 

CDtorDemo::~CDtorDemo()

{

cout << recode("Деструктор") << endl;

}

 

Void MyFunc()

{

CDtorDemo D;

throw CTest();

}

 








Дата добавления: 2014-12-26; просмотров: 792;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.