先请大家看下面一段代码:
"finally"使用注意public static void Test(string fileName)

以前我一直采用上面的方法关闭StreamReader, 我从没想到这样的写法在运行时会引起问题。今天我就遇到了莫明其妙的“未将对象引用设置到对象的实例”异常。因为这个异常很难跟踪,一开始我总是怀疑sr=new System.IO.StreamReader(fileName);后面的代码引起的异常,可是我将那部分代码全部注释, 还是有这个异常。后来,我注释掉sr.Close();才发现引起异常的真正原因。
原来在sr=new System.IO.StreamReader(fileName); 中,由于fileName路径不对,找不到相应的文件,抛出了异常,此时sr应该是null值,而在finally中执行sr.Close()就会引起“未将对象引用设置到对象的实例”异常。
正确的代码应该是这样:
"finally"使用注意public static void Test(string fileName)
        }

相关文章:

  • 2021-06-15
  • 2021-12-28
  • 2021-08-08
  • 2022-02-06
  • 2021-05-18
  • 2021-08-08
  • 2022-01-12
  • 2022-01-28
猜你喜欢
  • 2021-09-19
  • 2021-06-28
  • 2021-10-10
  • 2021-09-09
  • 2021-05-25
  • 2021-10-19
  • 2021-08-15
相关资源
相似解决方案