[問題] try-catch

看板C_Sharp作者 (小瑜)時間14年前 (2010/01/06 12:51), 編輯推噓2(207)
留言9則, 7人參與, 最新討論串1/1
問題描述: 在 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

01/06 12:52, , 1F
在try catch外 FileStream fs; 在try裡用fs=File.Open()
01/06 12:52, 1F

01/06 12:53, , 2F
把FileStream fs宣告在try外面,finally的時候要先判斷fs
01/06 12:53, 2F

01/06 12:55, , 3F
宣告在外面也一樣, 一直想不透為啥...
01/06 12:55, 3F

01/06 13:18, , 4F
至少貼一下「不給過」的錯誤訊息
01/06 13:18, 4F

01/06 13:20, , 5F
使用未指定的區域變數 'fs'
01/06 13:20, 5F

01/06 13:22, , 6F
不好意思,已解決 要將fs定義在try外面
01/06 13:22, 6F

01/06 16:43, , 7F
用using就ok了
01/06 16:43, 7F

01/06 18:41, , 8F
FS的定義最前面就可以了吧?
01/06 18:41, 8F

01/07 11:06, , 9F
搞笑
01/07 11:06, 9F
文章代碼(AID): #1BH1Qx3B (C_Sharp)