Witam ma dziwny problem (pierwszy raz dopiero stosuje try catch) w swojej metodzie która sprawdza czy została wybrana poprawna opcja z menu. A chodzi o to że muszę podać najpierw błędną odpowiedz i później jak podam poprawną to program wykona się dalej, ale jak najpierw podam odpowiedź która jest w przedziale to nie działa.
void Managment::setChoice() noexcept {
while (true) {
try {
std::cin.clear();
std::cin.ignore( 1000, '\n' );
std::cin >> choice;
if (choice < 1) {
throw badNumberChoiceTooSmall();
continue;
}
if (choice > 6) {
throw badNumberChoiceTooBig();
continue;
}
break;
}
catch (badNumberChoiceTooSmall &ref) {
ref.message();
}
catch (badNumberChoiceTooBig &ref) {
ref.message();
}
}
}