C#知识点错误处理之-(异常捕捉),try catch语句

我们知道程序可能会有错误发生,但不能100%的肯定他们不会发生,此时最好能预料到错误的发生,编写足够健壮的代码以处理这些错误,而不必中断程序的执行。
错误处理 就是用于这个目的。下面学习异常和处理他们的方式:
异常:
异常是在运行期间代码中产生的错误。
示例1:
  int[] myArray = {1,2,3,4};
  int myEle = myArray[4];//数组下标越界
处理异常的结构: try{} catch(){} finally{}
处理异常的语法结构如下(包含了三个关键字 try catch finally)
  try{
  可能出现异常的代码块
  }
  catch( 异常类型 参数名 ){
  用来捕捉异常,当代码发生异常,那么异常的类型和catch块中的类型一样的时候,就会执行该catch块,如果catch块的参数不写,表示发生任何异常都执行这个catch块
  }
  finally{
包含了始终会执行的代码,不管有没有异常产生都会执行
  }
  • 其中catch块可以有0或者多个,finally可以有0或者1个
  • 但是如果没有catch块,必须有finally块,没有finally块,必须有catch块,catch块和finally块可以同时存在
例子如下:

static void Main(string[] args)
        {
            int num2 = 0;
            while (true)
            {
                try
                {
                    num2 = Convert.ToInt32(Console.ReadLine()); //try块中如果这里发生了异常,从这一下的代码都不会执行了,会直接跳到catch里面;相反的如果没有异常,则会执行Break语句;
                    break;
                }
                catch (FormatException e) //这里捕捉的是FormatException(参数格式无效)异常,如果发生的不是这个异常,则不会捕捉,如果括号里面什么都不写也是可以的,这样会捕捉发生的任何异常
                {
                    Console.WriteLine("你输入的数字不是整数,请重新输入:");
                }

                finally//不管有没有异常,finally的代码块都会执行;finally块可写可不写,对程序没有影响
                {
                    Console.WriteLine("不管有没有异常,finally的代码块都会执行;finally块可写可不写");
                }
            }
            Console.WriteLine(num2);
            Console.ReadKey();
        }


程序结果如下:


  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值