2015-11-05 35 views
-1

如何管理DirectoryInfo寫入/讀取異常?如何管理DirectoryInfo寫入/讀取異常?

DirectoryInfo di = new DirectoryInfo(tbKeresesHelye.Text); 
foreach (var f in di.GetFiles("*", SearchOption.AllDirectories)) 
{ 
    richTextBox1.Text = richTextBox1.Text + f.Directory + "\\" + f.Name + " >> " + f.Length + "\n"; 
} 
+1

什麼是您選擇質疑 – lordkain

+1

沒有真正回答這個問題,但使用'StringBuilder'做字符串處理時循環 - 它的速度更快。 – SWeko

+1

你的例外在哪裏? – StepUp

回答

0

如果我理解正確:

string address = "D:"; 
DirectoryInfo di = new DirectoryInfo(address); 
try 
    { 
    foreach (var f in di.GetFiles("*", SearchOption.AllDirectories)) 
    {   
     richTextBox1.Document.Blocks.Clear(); 
     richTextBox1.Document.Blocks.Add(new Paragraph(new Run(f.DirectoryName + f.Name + " >> " + f.Length + "\n"))); 
    } 
    } 
catch (Exception ex) 
    { 
     richTextBox1.Document.Blocks.Add(new Paragraph(new Run(ex.Message))); 
    } 

只是爲了您的信息,它是處理這樣的異常的好做法:

  • 最準確的例外
  • 的那麼精確異常
  • 常見異常

,並使用throw關鍵字沒有標識保留原始 異常詳細信息這樣的:

catch (DivideByZeroException ex) 
{ 
    throw; 
} 
catch (InvalidOperationException ex) 
{ 
    throw; 
} 
catch (Exception ex) 
{ 
    throw; 
}