[阅读: 725] 2005-01-24 07:07:24
有一段代码,使用FileStream向文件写数据
调用FileStream.Close()方法来关闭流
当磁盘满的时候,发生IOException,这个Exceptio被外部的代码catch住
但是,当应用程序结束时,.Net会回收这个FileStream的实例
调用它的Finalize方法,FileStream的Finalize方法内发现自己的数据还没有写入磁盘
又会来调用一次Flush,这时磁盘满,仍然会产生IOException
但是这个IOException没有被catch,导致产生一个没有被处理的exception
怎么解决这个问题?
有没有办法让FileStream取消掉自己的buffer中的数据不要Flush回磁盘?
或者有没有办法截获.Net回收对象实例时产生的exception?
DISSENT IS THE HIGHEST FORM OF PATRIOTISM !
--Thomas Jefferson