Witajcie,
Napisałem sobie funkcję menu i funkcję logowania. W funkcji menu uzytkownik moze wpisać 1 lub 2 w zależności od wyboru. Mi chodzi o wybór 1.
Przechodzi wtedy do funkcji logowania. Jeśli nie uda mu się zalogować, to chciałem zrobić wyjątek. A w funkcji main jeszcze raz odesłać użytkownika do strony głównej.
Wygląda to wsztstko mniej więcej tak:
Main.cpp
try{
stronaGlowna();
} catch (...) {
cout<<endl<<"No nie pasuje zaden login do hasla.";
_sleep(1000);
system("cls");
stronaGlowna();
}
w jakimś innym pliku funkcja stronaGlowna
if(wybor == 1){
system("cls");
logowanie();
i finalnie funckja logowania
string login, haslo;
cout<<"Podaj nick: ";
cin>>login;
cout<<"Podaj haslo: ";
cin>>haslo;
if(zaloguj(login, haslo) == true){
ZALOGOWANO = true;
} else {
wyjątek że złe hasło lol;
throw "No nie pasuje zaden login do hasla. ";
}
I wszystko działa za pierwszym razem (tj, jeśli pierwszy raz nie uda nam się zalogować poprawnie wyrzuca tekst wyjątku tak jak ma być, przechodzi na nowo do stronyGlownej, wybieramy logowanie, i po kolejnym błędnym wpisaniu loginu i hasła otrzymuję błąd)
Błąd:
Unhandled exception at 0x778615de in projekt.exe: Microsoft C++ exception: char at memory location 0x0017ecec..
Czy coś jest nie tak w moim kodzie? Czy może w ogólnie nie da się wyjątku dać dwa razy?