0
사용자가 잘못된 입력을 입력 한 후에 프로그램을 계속 실행하고 싶습니다. 사용자가 문자열을 입력하면 오류 메시지가 표시되고 프로그램이 닫히지 만 사용자가 유효한 입력을 계속 입력하도록 프로그램에 요청합니다. 나는 try/catch를 do/while 안에 넣으려고했지만 나에게는 효과가없는 것 같다.C# 잘못된 입력 후 프로그램이 계속 실행되도록하는 방법
Int16 dollars;
try
{
do
{
Console.WriteLine("Enter a value, or 0 to exit.");
dollars = Convert.ToInt16(Console.ReadLine());
if (dollars >= 1)
{
Console.WriteLine("your current balance is");
myBank.addMoney(dollars);
myBank.getValue();
}
else if (dollars < 0)
{
Console.WriteLine("You have entered a negative number, your current balance is");
myBank.getMoney(dollars);
myBank.getValue();
}
} while (dollars != 0);
}
catch
{
Console.WriteLine("The value you have entered is invalid");
Console.ReadKey();
}
''do/do '안에 try/catch를 넣으려고했는데 - 여기에 표시된 코드에 따르지는 않았습니다. 하지만 그건 당신이 할 수있는 일입니다. 루프의 오류를 처리하고 로직을 계속하십시오. 또는 더 이상적인 대안으로'int.TryParse()'를 살펴보고 예외를 던지지 않고 입력을 테스트 해보자. 문제를 근본적으로 렌더링합니다. – David
int.TryParse보세요 (Convert.ToInt16 대신 사용할 수 있습니다). Int16 유형 사용을 중단하십시오. ;-) –
'convert' 클래스 대신'Int16.TryParse'를 사용할 필요가 있습니다 –