- 742 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:45:18 ]
- usingをtry-finallyに展開してみる。
try { readonly System.IO.FileStream fs = new System.IO.FileStream("data.xml", System.IO.FileMode.Open); try { DataList = (ArrayList)serializer.Deserialize(fs); } finally { fs.Dispose(); } } catch(System.Exception e) { MessageBox(e.ToString()); } usingではcatchしてないからDeserializeで例外が起きた場合は外側のtry-catchブロックが補足する。 問題になるとすればcatchの段階でまだ開いている状態のfsにアクセスしたい場合。 Deserializeとfs.Dispose()の両方で例外が起きた場合。 こういったことが気になるなら、usingを使わずtry-catch-finally構造に変える。
|

|