我刚刚在C#中编写了一个简单的代码,用于显示一条消息,该消息将您的输入视为睡眠时间,并根据该消息返回您是否休息好或没有。
问题是无论何时键入除整数之外的任何内容都会引发异常,因此我尝试使用try和catch方法处理此问题。 我希望我的代码在下次正确输入整数后再次返回评估。如何修改我的代码来执行此操作?
namespace ConsoleApplication9
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("your name");
string name = Console.ReadLine();
Console.WriteLine("how many hours of sleep did you get");
try
{
int hoursOfSleep = int.Parse(Console.ReadLine());
Console.WriteLine("hello " + name);
if (hoursOfSleep > 8)
{
Console.WriteLine("you are well rested");
}
else
{
Console.WriteLine("you need sleep");
}
}
catch
{
Console.WriteLine("Invalid Hours !! ");
Console.WriteLine(" Enter hours in integer");
}
}
}
}
答案 0 :(得分:8)
代替try...catch
阻止使用循环和TryParse
<{1}}
int
答案 1 :(得分:3)
尝试将try-catch包装成类似
的东西while(Console.Readline() != "q")
{
... your code here ...
}
然后您的应用程序将继续,直到您键入q并按Enter