我对C#编程非常陌生。我想捕获错误,例如输入无效(不是1-6中的数字)并打印出一条消息,指出错误。这是我的代码。
private static bool ManageStudents()
{
Console.Clear();
Console.WriteLine("========================");
Console.WriteLine(" Choose an option:");
Console.WriteLine(" 1. Add a new student");
Console.WriteLine(" 2. View all students");
Console.WriteLine(" 3. Search students");
Console.WriteLine(" 4. Delete students");
Console.WriteLine(" 5. Update students");
Console.WriteLine(" 6. Back to main menu");
Console.WriteLine("========================");
Console.Write("\r\nPlease choose: ");
try
{
switch (Console.ReadLine())
{
case "1":
AddStudents();
return true;
case "2":
ViewStudents();
return true;
case "3":
SearchStudents();
return true;
case "4":
DeleteStudents();
return true;
case "5":
UpdateStudents();
return true;
case "6":
return false;
default:
return true;
}
}
catch (Exception e)
{
Console.WriteLine("error message");
Console.ReadLine();
return true;
}
}
当我运行程序时,输入无效字符后没有出现“错误消息”消息。
替换
default:
return true;
with
default:
throw new Exception();
default:
return true;
您正在告诉它返回true而不出现错误。您应该将其更改为
default:
throw new Exception("Invalid Selection")
default
语句中使用switch
就是这样-如果找不到匹配项,则默认为这种情况。如果希望try
块失败,则需要在default
中引发异常。