• c#的if判断与异常处理


    //判断闰年:闰年也就是二月份有29天,普通闰年:bai能被4整除但du不能被100整除,世纪闰年:能被400整除的为世纪闰年。
                Console.WriteLine("请输入闰年:");
                int year = Convert.ToInt32(Console.ReadLine());
                //三目运算符:数据类型 变量 = 表达式1?表达式2:表达式3 (意思是如果表达式1成立,那么表达式2赋值给变量,不成立就把表达式3赋值给变量)这里只是学习三目运算符才这样写,三目运算符是if...else的简化写法
                bool tr = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0) ? true : false;//%取余数,bool类型返回值是true和false常用于if判断里面
                if (year <= 0)
                {
                    Console.WriteLine("你输入的:" + year + "不大于0");// 只是利用if的分支语句进行判断
                }
                else if (tr == true)
                {
                    Console.WriteLine("你输入的年份:" + year + "是闰年");
                }
                else
                {
                    Console.WriteLine("你输入的:" + year + "不是闰年");
                }
    
                
                try//主体代码块有可能发生的异常
                { 
                    try
                    {
                        //语句抛出异常
                        throw new Exception("错误信息");//强制抛出异常用:throw new Exception("错误信息"); 可以用于try中自己需要抛出的异常。之后就会执行catch里面的代码。
                    }
                    catch
                    {
                        throw;//向外抛出异常只能用于catch,如果没有则外面无法获取当前异常。
                    }
                }
                catch (Exception ex)//处理异常,获取try发生异常后会跳转到这里,如果未抛出异常则不执行,Exception是获取所有的异常
                {
                    Console.WriteLine(ex.StackTrace);//获取异常的错误路径位置ex.StackTrace和ex.ToString()是一样的
                    Console.WriteLine("获取异常信息:" + ex.Message);//获取异常信息
                }
                finally
                {
                    Console.WriteLine("不管有没有发生异常都会执行,等待try执行完成后才会执行,如果有catch必须写在其后");
                }
                
    
    
                Console.ReadLine();

    switch...case的结构体

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace CSharp 
    {
        class Demo2
        {
            static void Main(string[] args)
            {
                Console.WriteLine("请输入年份:");
                try
                {
                    int year = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("请输入月份:");
                    try
                    {
                        int monty = Convert.ToInt32(Console.ReadLine());
                        if (monty >= 1 && monty <= 12)
                        {
                            int day = 0;//先声明一个变量存储天数
                            switch (monty)//多条件定值判断:类似于else if(变量==值)的switch...case的结构体
                            {
                                //case 中的值必须是常量,不能是变量、表达式
                                case 1:
                                case 3:
                                case 5:
                                case 7:
                                case 8:
                                case 10:
                                case 12:
                                    day = 31;
                                    break;//专用于跳出switch语句
                                case 2:
                                    if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
                                    {
                                        day = 29;
                                    }
                                    else
                                    {
                                        day = 28;
                                    }
                                    break;
                                default://相当于if语句的else,各case和default子句的先后顺序可以变动,而不会影响程序执行结果。default子句可以省略不用
                                    day = 30;
                                    break;
    
                            }
                            Console.WriteLine("你输入的:{0}年{1}月共有{2}天。", year, monty, day);
                        }
                        else 
                        {
                            Console.WriteLine("你的输入月份不符合要求,程序退出。");
                        }
                    }
                    catch 
                    {
                        Console.WriteLine("你的输入月份有误,程序退出。");
                    }
                }
                catch
                {
                    Console.WriteLine("你的输入年份有误,程序退出。");
                }
                Console.ReadLine();
    
            }
    
        }
    }
  • 相关阅读:
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
  • 原文地址:https://www.cnblogs.com/longxinyv/p/14396378.html
Copyright © 2020-2023  润新知