Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何管理DirectoryInfo写入/读取异常?_C#_Wpf - Fatal编程技术网

C# 如何管理DirectoryInfo写入/读取异常?

C# 如何管理DirectoryInfo写入/读取异常?,c#,wpf,C#,Wpf,如何管理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

如何管理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";
 }

如果我理解正确:

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)));
   }
仅供参考,这样处理异常是一种很好的做法:

catch (DivideByZeroException ex)
{
    throw;
}
catch (InvalidOperationException ex)
{
    throw;
}
catch (Exception ex)
{
    throw;
}
  • 最确切的例外
  • 不太确切的例外
  • 常见的例外
并使用不带标识符的
throw
关键字来保留原始代码 例外情况详情如下:

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

你的问题是什么?不是真的回答这个问题,而是在循环中进行字符串处理时使用
StringBuilder
,这样会更快。例外情况在哪里?无法读取文件/文件夹(var f)我的答案是否满足你的问题?