两天前我才开始学习C#。当我键入字符串而不是字符时,以下代码不会捕获异常。
我也收到在if语句中使用未分配的局部变量char1的错误消息
char char1;
try
{
char1 = Convert.ToChar(Console.ReadLine());
}
catch (ArgumentException e)
{
Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message);
}
if (char1 == '1')
{
sMessage = "You enter 1 Hoorray";
}
答案 0 :(得分:1)
要捕获所有异常,请使用:
char char1;
try
{
char1 = Convert.ToChar(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message);
}
您还可以选择捕获不同的异常并以不同的方式处理它们:
char char1;
try
{
char1 = Convert.ToChar(Console.ReadLine());
}
catch (FormatException e)
{
Console.WriteLine("The format is wrong.."+ e.ToString());
}
catch (Exception e)
{
Console.WriteLine("Some sort of exception occurred..{0}: {1}", e.GetType().Name, e.Message);
}