C# 在C中未处理获取IOException#

C# 在C中未处理获取IOException#,c#,ioexception,C#,Ioexception,我有一个函数,允许应用程序获得硬盘的总大小 public static ulong GetLogicalDisk() { ulong num = 0L; string[] logicalDrives = Environment.GetLogicalDrives(); for (int i = 0; i < logicalDrives.Length; i++) { System.I

我有一个函数,允许应用程序获得硬盘的总大小

        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;
    }
公共静态ulong GetLogicalDisk() { ulong num=0升; 字符串[]logicalDrives=Environment.GetLogicalDrives(); for(int i=0;i 当我试图在C#中启动应用程序时,我在
num+=(ulong)info.TotalSize上收到以下错误消息:

IOException未处理


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

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

发件人:

发生I/O错误(例如 磁盘错误或驱动器未就绪)


你能在异常发生之前打印出驱动器的数据吗?我打赌这是你的A:drive…

我猜你访问的是一个不存在的网络共享或一个未插入的CD-ROM驱动器


在读取大小之前,请使用
DriveInfo.IsReady
检查驱动器是否可用,异常消息会显示什么?