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>   
   <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false" />   
</runtime>  

PathTooLongException 使用 HRESULT COR_E_PATHTOOLONG,其值为 0x800700CE。

构造函数

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)

适用于

另请参阅