C++ help

7 отговора 238 прегледа
#1

C++ help

Zdravejte imam konzolno prilojenie za rabota s tekstovi fajlove ne izpolzvam klasove. Imam funkcia ot tip char*
po vreme na izpulnenie na programata se poluchava prekusvane za greshka
Unhendeled Exception Access violation interesuva me kak da ignoriram prekusvaneto iskam samo da se izvede na ekrana suobshtenie za greshka no programata da produlji da obrabotva fajla.
Tanx

Отговор
в отговор на nik #2

Re: C++ help

Пробвай така:


try{
//Сложи проблемния фрагмент от кода който може да генерира грешка тук
}
catch(...) {
//Кодът тук се изпълнява само при поява на грешка
//Напиши например това:
printf("greshka");
}


Прочети в някоя книга как се използват изключенията в езика C++

Поздрави от Бургас.
Отговор
в отговор на nik #3

try {} catch(...){MessageBox(,,);}

Primera ste raboti s CBuilder i ste generira error v 50% ot izvikvane na func CallExcept()
Triabva compilatora da znae che ste hendlira exceptions za da sraboti primera.
void GenExcept()
{
int F;
if(random(2))F=1/0;
}

void CallExcept()
{
try
{
GenExcept();
}
catch(...)
{
Application->MessageBox("Deli se na 0","Errrrrrrrrorrrrrrr",MB_OK);
}
}

Отговор
в отговор на nik #4

Tanx

Blagodarsko momcheta shte probvam niakoj varianti.

Отговор
в отговор на nik #5

Re: Tanx

С try...catch ще хванеш "Access violation" само в debug версията на програмата си най-вероятно. По-добре е да потърсиш проблема за тоя "Access violation" и да го отстраниш - не да го игнорираш.

Отговор
в отговор на Zelen #6

Re: Tanx

Да, прав си.
Напълно съм съгласен с теб.

Поздрави от Бургас.
Отговор
в отговор на pbourgas #7

Re: Tanx

Zdravejte problema mi e iasen i zadachata e takava che ne moje ednoznachno da se opredeli viarnata stojnost zatova za men e po dobre da gi izpuskam tezi sluchai.
Men me interesuva neshto kato Fail() funkcia dali ima standartna za vsiakkvi funkcii moiata koiato propada e ukazatel kum char ( *char f()).
Pozdravi.

Отговор
в отговор на nik #8

Re: Tanx

Ами ако проблема е ясен - не би триабвало този "Access violation" да се заобикаля - оправи го.

Отговор