PathTooLongException 类

定义

当路径名或完全限定的文件名长度超过系统定义的最大长度时引发的异常。

public ref class PathTooLongException : System::IO::IOException
public class PathTooLongException : System.IO.IOException
[System.Serializable]
public class PathTooLongException : System.IO.IOException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class PathTooLongException : System.IO.IOException
type PathTooLongException = class
    inherit IOException
[<System.Serializable>]
type PathTooLongException = class
    inherit IOException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PathTooLongException = class
    inherit IOException
Public Class PathTooLongException
Inherits IOException
继承
PathTooLongException
继承
属性

注解

在 .NET Framework 4.6.2 之前的 .NET Framework 版本下运行的应用中,完整路径不得超过 260 个字符才能与 Windows 操作系统保持兼容性。 超过 260 个字符的任何路径都会自动引发 。PathTooLongException 有关此限制的详细信息,请参阅 BCL 团队博客 中 .NET 中的条目长路径

备注

此异常未包含在 适用于 Windows 应用商店应用的 .NET可移植类库中,但某些成员会引发此异常。 若要捕获该情况下的异常,请编写一个 catch 处理该 IOException 异常的语句。

从 .NET Framework 4.6.2 下运行的应用开始,.NET Framework 支持超过 260 个 (或 MAX_PATH) 个字符的长路径。 PathTooLongException引发异常的条件取决于应用面向的 .NET Framework 版本:

面向 .NET Framework 4.6.2 及更高版本的应用
默认情况下支持长路径。 运行时在以下条件下引发:PathTooLongException

  • 操作系统返回 COR_E_PATHTOOLONG 或其等同项。

  • 路径的长度超过 Int16.MaxValue 32,767) 个字符 (。

面向 .NET Framework 4.6.1 及更低版本的应用
默认情况下禁用长路径,并维护旧行为。 每当路径超过 260 个字符时,运行时都 PathTooLongException 引发。

如果这是不可取的,则面向 .NET Framework 4.6.1 及更早版本但运行在 .NET Framework 4.6.2 下的应用可以通过在应用程序配置文件元素中包含 <runtime> 以下设置来启用长路径支持:

<runtime>   
   <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false" />   
</runtime>  

PathTooLongException 使用具有值0x800700CE的 HRESULT COR_E_PATHTOOLONG

构造函数

PathTooLongException()

初始化 PathTooLongException 类的新实例,使其 HRESULT 设置为 COR_E_PATHTOOLONG。

PathTooLongException(SerializationInfo, StreamingContext)

使用指定的序列化和上下文信息初始化 PathTooLongException 类的新实例。

PathTooLongException(String)

初始化 PathTooLongException 类的新实例,使其消息字符串设置为 message,而其 HRESULT 设置为 COR_E_PATHTOOLONG。

PathTooLongException(String, Exception)

使用指定的错误消息和对作为此异常原因的内部异常的引用来初始化 PathTooLongException 类的新实例。

属性

Data

获取键/值对的集合,这些键/值对提供有关该异常的其他用户定义信息。

(继承自 Exception)
HelpLink

获取或设置指向与此异常关联的帮助文件链接。

(继承自 Exception)
HResult

获取或设置 HRESULT(一个分配给特定异常的编码数字值)。

(继承自 Exception)
InnerException

获取导致当前异常的 Exception 实例。

(继承自 Exception)
Message

获取描述当前异常的消息。

(继承自 Exception)
Source

获取或设置导致错误的应用程序或对象的名称。

(继承自 Exception)
StackTrace

获取调用堆栈上的即时框架字符串表示形式。

(继承自 Exception)
TargetSite

获取引发当前异常的方法。

(继承自 Exception)

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetBaseException()

当在派生类中重写时,返回 Exception,它是一个或多个并发的异常的根本原因。

(继承自 Exception)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetObjectData(SerializationInfo, StreamingContext)

当在派生类中重写时,用关于异常的信息设置 SerializationInfo

(继承自 Exception)
GetType()

获取当前实例的运行时类型。

(继承自 Exception)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

创建并返回当前异常的字符串表示形式。

(继承自 Exception)

事件

SerializeObjectState
已过时。

当异常被序列化用来创建包含有关该异常的徐列出数据的异常状态对象时会出现该问题。

(继承自 Exception)

适用于

另请参阅