Страница 1 из 1
try
Добавлено: 24 дек 2007, 23:41
Vladimir89
Срочно нужно узнать что это такое? Как я понял из текста программы это что то наподобие Ифа. А в чем отличие?
Код: Выделить всё
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);
}
}
Re: try
Добавлено: 25 дек 2007, 10:07
Romeo
В блоке try помещается код, который может бросать так называемые исключения (exception). Бросание исключения осуществляется с помощью оператора throw, через пробел после этого оператора следует указать бросаемый объект. Объект может быть как системного типа (например, int переменная, как в нашем случае), так и пользовательского типа (например, экземпляр класса).
Брошенное исключение может быть поймано блоком catch. Тип параметр этого блока должен совпадать по типу с брошенным объектом, иначе исключение не будет поймано. Если типы совпадают, то после бросания исключения управление перейдёт на первую команду соответствующего блока catch. В том случае, если соответствующего catch не найдено, будет произведена раскрутка стека и исключение полетит наружу из функции и при желании его можно будет поймать снаружи при помощи всё тех же конструкций try и catch.
Если исключение не было поймано нигде и вылетело наружу из главной функции (main, wmain, WinMain), то (скажем условно) оно будет поймано системой и мы будем наблюдать так называемый краш программы.