中国开发网: 论坛: .NET/C#: 贴子 86556
李颖
.Net 问题
有一段代码,使用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

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录