作者joefaq (小瑜)
看板C_Sharp
標題[問題] try-catch
時間Wed Jan 6 12:51:03 2010
問題描述:
在 try裡面定義了一個 FileStream fs (或其他 Stream類的)
然後於 finally中關閉。
範例:
//MSDN的寫法就大概長這樣,但是不給過就是不給過
try
{
FileStream fs = File.Open(filename, FileMode.OpenOrCreate);
}
catch(...)
{
//略
}
finally
{
//略
fs.Close();//問題在這: Compiler報錯,說fs不在目前的命名空間
}
//如果將 fs宣告在try外面也是一樣的問題
請問一下如果想在try-catch-finally中關閉Stream該怎麼寫,感謝。
我用的是Visual Studio 2008
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.130.211
1F:→ kinwind:在try catch外 FileStream fs; 在try裡用fs=File.Open() 01/06 12:52
2F:→ nopeace:把FileStream fs宣告在try外面,finally的時候要先判斷fs 01/06 12:53
3F:→ joefaq:宣告在外面也一樣, 一直想不透為啥... 01/06 12:55
4F:→ james732:至少貼一下「不給過」的錯誤訊息 01/06 13:18
5F:→ joefaq:使用未指定的區域變數 'fs' 01/06 13:20
6F:→ joefaq:不好意思,已解決 要將fs定義在try外面 01/06 13:22
7F:推 Elly:用using就ok了 01/06 16:43
8F:推 rushcloud:FS的定義最前面就可以了吧? 01/06 18:41
9F:→ cplusplus:搞笑 01/07 11:06