1、异常捕获
    我们在程序中经常会出现各种各样的异常,如果想要程序变得稳定性高,在代码中应该经常性的使用try-catch来进行异常捕获。

    哪行代码有可能出现异常,就踹它一脚。
    语法:
    try
    {
    可能出现异常的代码;
    . . . .
    . . .
    . . .
    }
    //try和catch之间不能有其他代码
    catch
    {
    出现异常后要执行的代码;
    }
    执行过程:如果try中的代码没有出现异常,那么catch中的代码不会执行。如果try中的代码出现了异常,那么这行代码后的所有代码都不会执行了,而是直接跳到catch中执行了。

    2、变量的作用域:
    变量的作用域就是你能够使用到这个变量的范围。
    变量的作用域一般从声明它的那个括号开始到那个括号所对应的结束的括号结束。在这个范围内,我们可以访问并使用变量,超出这个范围就访问不到了。

    代码举例:
    bool b = true;
    int number = 0;//声明一个变量
    Console.WriteLine(“请输入一个数字”);
    try
    {
    //abc
    number = Convert.ToInt32(Console.ReadLine());//赋值
    }
    catch
    {
    Console.WriteLine(“输入的内容不能够转换成数字”);
    b = false;
    }
    //我们如果要执行下面这行代码,需要满足某些条件。
    //让代码满足某些条件去执行的话,使用bool类型
    if (b)
    {
    Console.WriteLine(number * 2);//使用
    }
    Console.ReadKey();

    3、switch-case
    用来处理多条件的定值判断。
    语法:
    switch(变量或者表达式的值)
    {
    case 值1:要执行的代码;
    break;
    case 值2:要执行的代码;
    break;
    case 值3:要执行的代码;
    break;
    . . . . . . . . . .
    default:要执行的代码;
    break;
    }
    执行过程:程序执行到switch处,首先将括号中变量或者表达式的值计算出来,然后拿着这个值依次跟每个case后面所带的值进行匹配,一旦匹配成功,则执行该case所带的代码,执行完成后,遇到break。跳出switch-case结构。
    如果,跟每个case所带的值都不匹配。就看当前这个switch-case结构中是否存在default,如果有default,则执行default中的语句,如果没有default,则该switch-case结构什么都不做。

    if-else if与switch的比较
    相同点:都可以实现多分支结构
    不同的:
    1、if-else if:可以处理范围
    2、switch:一般只能用于等值比较
    三者的区别:
    1、if有条件的执行一条语句
    2、if-else有条件的执行一条或另一条语句
    3、switch有条件的执行一组语句中的一条语句