作者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