如何处理这类问题UnauthorizedAccessException是否有handli错误?

时间:2013-03-08 21:41:48

标签: c# asp.net winforms

我已经看过this,但还没有完全解决这个问题。当我读取所有find和include文件夹时,编译器会抛出一个关于Unauthorized的异常。错误抛出编译器:

  

访问路径F:\ System Volume information \ is Denied

我的代码是

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 驱动没有系统卷信息文件夹..为什么抛出这种类型的例外?

1 个答案:

答案 0 :(得分:1)

当您执行“dir”或查看资源管理器中的文件时,隐藏+系统文件夹不会显示,但这并不意味着它们不存在。

“非系统卷信息”存在于非只读磁盘上Windows触摸和权限设置,即使管理员也没有访问权限(您也可以获得一个 - 与任何其他受保护位置相同 - 通过获得所有权和添加访问权限。)

通常,您应该期望IO错误,例如“拒绝访问”并适当地处理它们。即在文件枚举期间忽略所有IO异常可能没问题。

注意使用此命令(键入CMD控制台)查看该文件夹的属性:

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