gpt4 book ai didi

c# - 如何使用 switch case 处理异常

转载 作者:行者123 更新时间:2023-12-04 04:00:15 25 4
gpt4 key购买 nike

正在处理一个项目,这里是 c# 的新手,我正在尝试处理未处理的异常。我想做的是,每当用户输入的内容不是其中一种选择时,就向他们提供一条有用的错误消息,并不断提示他们,直到他们输入有效的回复。

        string input = Console.ReadLine();
// bool userBool = false;
// while( userBool){

// }

switch (Int32.Parse(input))
{

case 1:
farm.AddGrazingField(new GrazingField());
Console.WriteLine("Your Facility has been added");
break;
case 2:
farm.AddPlowedField(new PlowedField());
Console.WriteLine("Your Facility has been added");
break;
case 3:
farm.AddNaturalField(new NaturalField());
Console.WriteLine("Your Facility has been added");
break;
case 4:
farm.AddChickenHouse(new ChickenHouse());
Console.WriteLine("Your Facility has been added");
break;
case 5:
farm.AddDuckHouse(new DuckHouse());
Console.WriteLine("Your Facility has been added");
break;
default:
break;
}

我知道我可以使用 while 循环和条件来做到这一点,但还没有成功地使用 switch case 做到这一点。

最佳答案

您可以使用函数来读取和验证用户的输入:

int GetUserInput()
{
while (true)
{
Console.Write("Please enter a number: ");
var input = Console.ReadLine();
if (int.TryParse(input, out var value))
return value;
}
}

如果用户输入无效值,此函数不会抛出异常。相反,它会再次提示用户。您可以扩展它以限制您允许的输入范围并编写描述性错误消息。

关于c# - 如何使用 switch case 处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63135921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com