C#为什么要用到 try...catch... 呢?


为什么代码里要用try…catch…语句?这是个问题。


通俗讲:就是给代码里面可能出现的不安全代码加了个保险。即使出错了,也不会停止,可以继续执行。


可能出现异常的代码,不用try catch的情况:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TryCatchTest
{
    class Program
    {
        static void Main(string[] args)          
        {
            //*********************************不使用try...catch...的情况**********************************************************
            Console.WriteLine("请输入一个整数:");
            int aa = int.Parse(Console.ReadLine());//这里输入的类型必须是整数,否则会报异常
            Console.WriteLine("上面的执行没有问题。");

            Console.ReadKey();
        }
    }
}

上面的代码。如果输入的是一个整数,就正常往下执行,执行后面的输出语句。
在这里插入图片描述
上面的代码。如果输入的不是一个整数,就报异常!!!!!!
在这里插入图片描述按Enter后:

在这里插入图片描述


接下来我们来看,这段代码里使用try…catch…之后有什么好处。。。。。。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TryCatchTest
{
    class Program
    {
        static void Main(string[] args)          
        {
            //*********************************使用try...catch...的情况**********************************************************
            try
            {
                Console.WriteLine("请输入一个整数");
                int a = int.Parse(Console.ReadLine());       //如果是正确的输入,就在try里面继续执行,否则就跳到catch里面执行

                Console.WriteLine("上面的执行没有问题。");
            }
            catch                                            //try中有异常的时候执行
            {
                Console.WriteLine("try块里面出现了异常!");
            }

            //finally//不管上面有没有错,都需要执行!
            //{
            //    Console.WriteLine("谢谢使用,再见!");
            //}   
            Console.ReadKey();
        }
    }
}

运行结果:
在这里插入图片描述
输入一个非整数后: try里面不报异常了,但是也不再执行try块里面的内容,而是去执行catch里的内容!
在这里插入图片描述


再来看下使用finally之后的情况:(去掉finally代码块的注释。。。。。。)

在这里插入图片描述
执行完catch里面的内容之后,对整个内容做一个了断。无论怎样都执行。


最后的最后,来看下在catch里面捕捉一下try里面出现的异常的详细内容,便于判断代码哪里出问题了,好顺藤摸瓜,解决问题。。。。。。。。。。。。。。。
在这里插入图片描述
这样我们就知道了是不安全代码到底不安全在哪里了。。。。。。。


综上,使用try…catch…有两个好处:
1、出现异常程序可以不报错,继续执行。。
2、可以捕获出现的异常,方便知道代码的哪里出现了问题,便于查看解决问题。。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值