当前位置: 代码迷 >> C# >> Directory.GetDirectoryRoot抛出了错误,为何
  详细解决方案

Directory.GetDirectoryRoot抛出了错误,为何

热度:91   发布时间:2016-05-05 03:23:35.0
Directory.GetDirectoryRoot抛出了异常,为何?

    class Program
    {
        private static void Main()
        {
            Console.WriteLine(Directory.GetDirectoryRoot("d:\abc"));
        }
    }

这个程序会抛出异常说:
Unhandled Exception: System.ArgumentException: Illegal characters in path.
   at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
   at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   at System.IO.Path.GetFullPathInternal(String path)
   at System.IO.Directory.GetDirectoryRoot(String path)

原因是什么?
------解决思路----------------------
转义字符写错了。
------解决思路----------------------
引用:
我把GetRootDirectory改成GetParent,一样会抛出异常,奇怪了


看.net异常机制的提示。不要瞎猜。
------解决思路----------------------
Console.WriteLine(Directory.GetDirectoryRoot("D:\\Tools\\VS2013"));

你不转义能编译通过?
  相关解决方案