配图

九、try catch

示例:

  1. 做一个收集用户年龄的应用;
  2. 当用户输入的内容跟正确时(输入值为一个整数),打印出用户的年龄。
            Console.WriteLine("输入你的年龄:");
            string str = Console.ReadLine(); //只能用一个字符串类型数接收用户输入。
            int age = int.Parse(str);
            Console.WriteLine("你的年龄是:"+age);

在上述方法中,我们默认用户会给我们输入一个数值,但在实际应用过程中,用户可能输入其他任何内容,比如“abc”。此时用户就会报错,操作系统会直接关闭我们的应用。

Console.WriteLine("输入你的年龄:");
string str = Console.ReadLine(); //只能用一个字符串类型数接收用户输入。
int age = 0;//需要在try的外面定义age,才能同时在try和catch内引用。
try 
{ 
    age = int.Parse(str);
    Console.WriteLine("你的年龄是:" + age);
}
catch {
    Console.WriteLine("你输入的不是一个数值");
}

引入try cach后,如果用用户输入的是一个数值(str可以被转换成一个整数),则程序会执行爱try内的语句,如果用户输入的是一个不能被转换成整数的内容,则会执行catch内的语句。然后继续执行try catch后面的内容(如果还有的话)。

如果不希望后面的代码继续执行。则可以再catch后加入return。

Console.WriteLine("输入你的年龄:");
string str = Console.ReadLine(); //只能用一个字符串类型数接收用户输入。
int age = 0;//需要在try的外面定义age,才能同时在try和catch内引用。
try 
{ 
    age = int.Parse(str);
    Console.WriteLine("你的年龄是:" + age);
}
catch {
    Console.WriteLine("你输入的不是一个数值");
    return;//没有返回值,return后什么也不跟。
}

如果希望希望一直让用户输入,直到用户输入的值为一个可以转换为整数类型的数据。

            int age = 0;//需要在try的外面定义age,才能同时在try和catch内引用。
            bool check = true;

            for(;check; )
            {
                Console.WriteLine("输入你的年龄:");
                string str = Console.ReadLine(); //只能用一个字符串类型数接收用户输入。
                try
                {
                    age = int.Parse(str);
                    Console.WriteLine("你的年龄是:" + age);
                    check = false;
                }
                catch
                {
                    Console.WriteLine("你输入的不是一个数值");
                    check = true;
                }
            }

封面图为AI生成

Midjourney

关键词Prompt

risograph style, MacBook on desk, a cup of coffee, indoor, window, perfect light, colorful, high quality,modern,illustrations, Fantastic Colors, –version 5.2 –aspect 16:9 –stylize 400 –quality 1 –chaos 0 –fast

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注