C#:尝试,Catch没有捕获异常

时间:2014-05-20 22:46:08

标签: c# try-catch

如果字符串包含Windows路径的无效字符,我有一个try catch会捕获异常。

         try
            {
                Result = Path.GetFullPath(pathname);
            }

            catch (System.IO.IOException e)
            {
                CatchResult = (e);
            }

但是仍然会抛出异常,应用程序崩溃了。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

MSDN声明Path.GetFullPath()会抛出5种异常,但不会抛出IOException。您必须捕获正确类型的异常。有关详细信息,请参阅documentation

答案 1 :(得分:2)

Path.GetFullPath(string)不会抛出IOException作为其中一个可用的异常。

请查看Path.GetFullPath MSDN

上的例外列表

抛出异常:

  1. ArgumentException
  2. SecurityException
  3. ArgumentNullException
  4. NotSupportedException
  5. PathTooLongException。