异常处理--把对象序列化到磁盘文件,出错恢复

记:CLR via 中的一个实用例子

public
void SerializeObjectGraph(FileStream fs,IFormatter formatter,object rootObj) { //保存文件的当前位置 long beforeSerialization=fs.Position; try { //尝试将对象序列化到文件 formatter.Serialize(fs,rootObj); } catch //捕获所有异常 { //任何事情出错,就将文件恢复到一个有效状态 fs.Position=beforeSerialization; //截断文件 fs.SetLength(fs.Position); //重新抛出异常 throw; } }

 

posted @ 2015-04-20 13:33  荣码一生  阅读(156)  评论(0编辑  收藏  举报