请问碰到DirectoryInfo为未放光盘的驱动器时该如何处理?
今天做了个遍历文件的过程
private void searchFile(string path,ListBox list)
{
DirectoryInfo dir = new DirectoryInfo(path);
if(!dir.Exists)
{
throw new ArgumentException("source dir doesn't exist -> " + path);
}
DirectoryInfo[] directories;
FileInfo[] files;
try
{
directories = dir.GetDirectories();
list.Items.Add(dir.FullName.ToString()+"\\");
files = dir.GetFiles();
foreach(DirectoryInfo di in directories)
{
this.searchFile(di.FullName.ToString(),list);
}
foreach(FileInfo fi in files)
{
list.Items.Add(dir.FullName.ToString()+"\\"+fi.Name);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
加了try就是因为碰到没有放光盘的驱动器时会报错,报错在try下面的第一句:directories = dir.GetDirectories();(但是加了try后还是报错,搞不懂)。
请问各位碰到这种情况该如何处理?有办法判断(if dir.类型==光盘 && dir.放光盘==false)吗?