try

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Аватара пользователя
Vladimir89
Сообщения: 75
Зарегистрирован: 21 май 2007, 02:25

24 дек 2007, 23:41

Срочно нужно узнать что это такое? Как я понял из текста программы это что то наподобие Ифа. А в чем отличие?

Код: Выделить всё

poliklinika (int Nomer, char* FamZav, char* Tel)
	{
		try
		{
			if(k<=0) throw k;
			KolvoAkterov=k;
			strcpy_s(NazvSpekt, s);
			strcpy_s(Avtor, n);
		}
		catch (int k)
		{
			cout<<endl<<" Nepravil'nie dannie "<<k;
			_getch();
			exit(1);
		}
	}
Си ++
Здоровье --
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

25 дек 2007, 10:07

В блоке try помещается код, который может бросать так называемые исключения (exception). Бросание исключения осуществляется с помощью оператора throw, через пробел после этого оператора следует указать бросаемый объект. Объект может быть как системного типа (например, int переменная, как в нашем случае), так и пользовательского типа (например, экземпляр класса).

Брошенное исключение может быть поймано блоком catch. Тип параметр этого блока должен совпадать по типу с брошенным объектом, иначе исключение не будет поймано. Если типы совпадают, то после бросания исключения управление перейдёт на первую команду соответствующего блока catch. В том случае, если соответствующего catch не найдено, будет произведена раскрутка стека и исключение полетит наружу из функции и при желании его можно будет поймать снаружи при помощи всё тех же конструкций try и catch.

Если исключение не было поймано нигде и вылетело наружу из главной функции (main, wmain, WinMain), то (скажем условно) оно будет поймано системой и мы будем наблюдать так называемый краш программы.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить