2013-01-31 110 views
6

我從MSDNFileNotFoundException異常在File.AppendAllText

http://msdn.microsoft.com/en-us/library/ms143356.aspx

閱讀File.AppendAllText方法,我看到他們列出FileNotFoundException可能的例外列表中的方法,但根據有關方法在同一頁上有描述

打開文件,將指定的字符串追加到文件中,然後關閉文件。 如果該文件不存在,則此方法創建一個文件, 將指定的字符串寫入該文件,然後關閉該文件。

這部分

如果文件不存在,此方法創建一個文件

似乎此異常不會被拋出了這個方法。

+3

我想它有可能是由於安全原因或類似的原因而無法創建文件 – Sayse

+0

@Sayse有一個不同的例外。 –

+0

FileNotFoundException是萬一目錄不存在 –

回答

7

如果你看看(比如說)單聲道的實現(這是與微軟的兼容),所有File.AppendAllText結束了做(參數檢查除外)創造與路徑StreamWriter並調用對象上Write

據我所知,無論是使用的構造函數還是方法都沒有列出任何可以拋出FileNotFoundException的方法,因此可能是是文檔錯誤。

+4

可能是文檔錯誤,是的;我看不出應該從該方法拋出異常的任何方式。 –

+0

不錯的問題和不錯的答案:) –

+0

+1裏面的功能不錯的細節:) –

0

此線程可能已經老化,但上面給出的一個人員的正確答案被其他人忽略了。 事實是,FileNotFoundException不是錯字錯誤。它存在,我明白了。 原因是在例外消息如下: 「找不到部分路徑」。 如上所述,File.AppendAllText將打開文件(如果它不存在),但它必須具有有效路徑

相關問題