C#异常数据捕获(2)

            /*
            exception 例子


            
            try
            {

                //尝试运行的代码 可能出错的代码
                //int num = int .Parse("abc");
                int num1 = int.Parse("0");
                int num  = 10 / num1;
            }
            //catch (Exception ex) // 获取任意类型的错误
            //catch (FormatException ex) //获取字符串格式化的错误
            catch (DivideByZeroException ex) // 除零错误
            {
                //exeception 表示错误类型 是任意的类型
                //ex  是储存错误的变量 表示我们获取到的错误信息

                //当场试运行的代码出错时执行的代码逻辑
                Console.WriteLine("当尝试运行的代码出错时 执行的代码逻辑");
                Console.WriteLine(ex);
            }
             */

            /*
            //多catch 捕获异常
            try
            {
                Console.WriteLine("请输入一个数字:");
                int num1 = int .Parse(Console.ReadLine());
                int result = 10 / num1 ;
                //代码出错了 后续的代码就不再执行了


                throw new Exception("这是一个自定义的错误");
                //抛出一个自定义的错误
                //throw 关键字 用来抛出错误
            }
            catch (FormatException ex)
            {
                Console.WriteLine("字符串格式不正确");
            }
            catch (DivideByZeroException ex)
            {
                Console.WriteLine("除零错误");
            }
            catch (Exception )
            {

                Console.WriteLine("未知的错误");
                
            }
            */


            //finally 最终
            try
            {
                int a = int.Parse("123");
            }
            catch (Exception ex)
            {
                Console.WriteLine("出错了才会执行的代码------------");
                
            }
            finally
            {
                Console.WriteLine("不论是否出错都会执行的代码");
            }
            Console.ReadLine();

            /*
             * 1. try catch 必须一起出现 有try 这必须有catch
             * 2. finally 可以有也可以没有
             * 3. try:将可能抛出异常的代码块放在 try​ 语句中。
             * 4. catch:当 try​ 语句块中的代码抛出异常时,控制流会跳转到相应的 catch​ 语句块中,处理异常。
             * 5. finally:不论是否发生异常,finally​ 代码块都会执行,常用于清理资源。
             * 6. 错误类型,指定 的类形错误只能在指定的catch中处理                          Exception 类型是任意错误类型 什么错误都可以接受
             * 7. 当我们不知道错误的类型时 我们可以写Exception 类型
             * 8. throw 关键字用来抛出错误 可以通过throw new Exception("描述错误的信息") 自定义错误
             * 9. 代码一旦出错程序就会崩溃, 后续代码无法执行。因此我们需要使用异常捕获机制来处理异常,让程序可以正确的执行
             */
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值