(34)C#里使用try-catch-finally

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(34)C#里使用try-catch-finally相关的知识,希望对你有一定的参考价值。

在开发的过程中,经常会碰到这样的问题,比如连接一个数据库,在查询的过程中由于某种原因导致异常抛出,因此没有及时地关闭数据库连接,导致数据库连接一直还连着,这时候再进行新的查询,突然发现连接不上了,数据库老是报连接超出限制。因为原来的连接一直连接着,并没有关闭。因为C#垃圾回收还没有回收,这样就存在问题。要解决这个问题,我们需要使用try-catch-finally。

下面这个例子就是演示这种情况,比如文件打开之后,由于读写有异常,导致不能正常地关闭文件,所以下次再打开就会导致出错。

不使用try-catch-finally的代码如下:

static void CodeWithoutCleanup()

    FileStream? file = null;
    FileInfo fileInfo = new FileInfo("./file.txt");

    file = fileInfo.OpenWrite();
    file.WriteByte(0xF);

    file.Close();

添加try-catch-finally的代码如下:


                

以上是关于(34)C#里使用try-catch-finally的主要内容,如果未能解决你的问题,请参考以下文章

(51)C#里静态构造函数的两个作用

C#中反射里的invoke方法的参数

C#构造函数里的base和this的区别

C# 调用系统“API“设置图片为“桌面壁纸“

C# 调用系统“API“设置图片为“桌面壁纸“

(21)C# 访问Redis的测试