2013-03-08 49 views
1

我有種子allready this,但不是一個完整的解決這個問題。當我閱讀所有查找和包括文件夾編譯器梅格拋出關於未經授權的例外。錯誤拋出編譯器訪問路徑F:\系統卷信息\被拒絕。我的代碼是如何處理這種類型的probelm UnauthorizedAccessException是否handli錯誤?

private void toolStripButton8_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      Uri _urii = new Uri(toolStripTextBox1.Text); 
      //   MessageBox.Show(_urii.Host); 
      string _sthost = _urii.Host; 

      string aa = "F:\\" + _sthost + " "; 
    string[] _file = Directory.GetFiles("F:\\", "*.txt", SearchOption.AllDirectories); //Exception here create 
      foreach (var item in _file) 
      { 
       MessageBox.Show(item.Length.ToString()); 

我的問題是˚F驅動器中沒有有的System Volume Information文件夾 ..爲什麼拋出這種類型的異常。

+0

我的帳戶等於管理...... – 2013-03-08 21:48:08

+0

尼特挑:在這種情況下,編譯器ISN」發出錯誤,這是運行時 – JaredPar 2013-03-08 22:02:40

回答

0

隱藏+系統文件夾不顯示當你做「目錄」或在資源管理器中查看文件,但並不意味着他們不在那裏。

「系統卷信息」出現在非只讀磁盤上Windows觸摸和權限設置的方式,即使管理員無法訪問(也可以獲得一個 - 與其他受保護的方式相同位置 - 通過獲取所有權並添加訪問權限)。

一般而言,您應該期望IO錯誤(如「拒絕訪問」)並適當地處理它們。即簡單地忽略文件枚舉期間的所有IO異常可能是確定的。

注意使用此命令(在CMD控制檯類型)看到該文件夾​​的屬性:

cd f:\ /d && attrib "System Volume Information" 
+0

先生我已檢查隱藏的文件,沒有任何類型的此文件 – 2013-03-08 21:55:16

+0

string [] _file = Directory.GetFiles(「F:\\」,「*。txt」,SearchOption.AllDirectories) ; //在這裏創建異常 – 2013-03-08 21:56:52