0
ユーザーが無効な入力を入力した後でもプログラムを実行したい。ユーザーが文字列を入力すると、エラーメッセージが表示されてプログラムが終了しますが、プログラムはユーザーに有効な入力を要求するように依頼します。私はdo/catchの中にtry/catchを入れてみましたが、それは私にとってはうまくいかないようです。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'を使う必要があります –