异常处理--把对象序列化到磁盘文件,出错恢复
记: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; } }