c#: Try, Catch不捕获异常

本文关键字:捕获异常 Catch Try | 更新日期: 2023-09-27 18:04:14

我有一个try catch,如果字符串具有Windows路径的无效字符,应该捕获异常。

         try
            {
                Result = Path.GetFullPath(pathname);
            }
            catch (System.IO.IOException e)
            {
                CatchResult = (e);
            }

但是异常仍然被抛出,应用程序崩溃。什么好主意吗?

c#: Try, Catch不捕获异常

MSDN声明Path.GetFullPath()抛出5种异常,但IOException没有。您必须捕获正确类型的异常。

Path.GetFullPath(string)不抛出IOException作为它的可用异常之一。

请查看路径中的例外列表。GetFullPath MSDN

抛出异常:

    <
  1. ArgumentException/gh>
  2. SecurityException
  3. ArgumentNullException
  4. NotSupportedException
  5. PathTooLongException。