【问题标题】:Getting IOException was unhandled in C#在 C# 中未处理获取 IOException
【发布时间】:2011-04-21 13:09:13
【问题描述】:

我有一个函数可以让应用程序获取你硬盘的总大小。

        public static ulong GetLogicalDisk()
    {
        ulong num = 0L;
        string[] logicalDrives = Environment.GetLogicalDrives();
        for (int i = 0; i < logicalDrives.Length; i++)
        {
            System.IO.DriveInfo info = new System.IO.DriveInfo(logicalDrives[i].ToString());
            if (info.DriveType == System.IO.DriveType.Fixed)
            {
                num += (ulong)info.TotalSize; //Exception here.
                Console.WriteLine(info.TotalSize);
            }
        }
        Console.WriteLine(num);
        return num;
    }

当我尝试在 C# 中启动应用程序时,我在 num += (ulong)info.TotalSize; 上收到以下错误消息

IOException 未处理

这里有人可以帮我吗?有什么问题?

【问题讨论】:

  • 异常信息是怎么说的?

标签: c# ioexception


【解决方案1】:

它可能试图访问软盘驱动器或 CD-ROM 驱动器,但没有安装物理介质。

来自the docs

发生 I/O 错误(例如, 磁盘错误或驱动器未准备好)。

您能否在异常发生之前打印出驱动器的Name - 我敢打赌这是您的 A: 驱动器...

【讨论】:

    【解决方案2】:

    我的猜测是你访问了一个不存在的网络共享或一个没有插入的 CD ROM 驱动器。

    在读取大小之前,使用DriveInfo.IsReady 检查驱动器是否可用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多