Я новичок в C++, так что помочь мне с этой логикой,Как эффективно использовать попытку поймать в C++
Я создал карту и вводил данные. Этот вопрос основан на обработке исключений. Если в моей попытке {...} есть ошибка. Неверный ввод типа данных, он бросает на catch() и выполняет функцию mContinueOrNot(), но программа завершается без получения значения для cContinueCharacter.
void mSearchForCustomer()
{
try
{
int ncustomerid;
std::cout<< "\nEnter the Customer ID to Search \t";
if(!(std::cin >> ncustomerid))
{
throw (ncustomerid);
}
/*My Code*/
mContinueOrNot();
}
catch(int)
{
std::cout<< "\nWRONG INPUT\n";
mContinueOrNot();
}
}
void mContinueOrNot()
{
char cContinueCharacter;
std::cout<<"\nEnter 'Y' to continue \n";
std::cout<<"Continue????????? :\t";
std::cin>>cContinueCharacter;
if(cContinueCharacter == 'y' || cContinueCharacter == 'Y')
mChoice();
else
exit(0);
}
Заранее спасибо
это пользовательский ввод .. я объявил его в классе – Amir
Не совсем относится к вопросу, но то, что вы пытаетесь сделать, это «контролировать поток за исключением», что является плохим идеей. Вы должны переписать свой код, поэтому неправильный выбор не является исключительным условием (это не так). –
Я не мог понять ничего из-за плохого отступа, поэтому отформатировал код. Надеюсь, я сделал все правильно, и я надеюсь, что вы действительно так выразились. – petersohn