2017-10-06 96 views
0

我做了一個try-catch塊,我嘗試用一​​些文本創建一個文件。不管我把文件放在哪個目錄下,我總是得到一個UnauthorizedAccessException。 我該如何擺脫它? ToDoText是一個包含我要放入文件中的信息的字符串。如何避免UnauthorizedAccessException?

try 
{ 
    Task.Run(() => File.WriteAllText(@"C:/Users/marti/source/ToDo.txt", ToDoText)); 
} 

catch (UnauthorizedAccessException) 
{ 
    ErrorHandling.Visibility = Visibility.Visible; 
    ErrorRectangle.Visibility = Visibility.Visible; 
    ErrorText.Text = "UnauthorizedAccessException."; 
} 
+0

好像用戶您沒有權限對「C編寫執行應用程序:/用戶/馬蒂/source/ToDo.txt」。嘗試以管理員身份執行該應用程序。如果它有效,那麼問題是windows-permissions – Dominik

+0

我不認爲*這是你的問題,但你應該在路徑名中使用反斜槓,而不是正斜槓。這是一個UWP應用程序嗎? –

+0

這是什麼平臺? UWP或WPF? – Laith

回答

0

File.WriteAllText告訴你何時發生此異常。

檢查一個AFTE其他:

  • 路徑指定了一個只讀文件。

  • 該操作在當前平臺上不受支持。

  • path指定一個目錄。

  • 調用者沒有所需的權限。

嘗試System.IO.Path.GetTempPath()爲您應該能夠寫入路徑...