PathTooLongException 클래스

정의

경로나 정규화된 파일 이름이 시스템에서 정의한 최대 길이보다 더 긴 경우에 throw되는 예외입니다.The exception that is thrown when a path or fully qualified file name is longer than the system-defined maximum length.

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
상속
특성

설명

코드에 권한이 없는 경우 FileIOPermissionAttribute.PathDiscovery 이 예외에 대 한 오류 메시지에 전체 경로 대신 파일 또는 디렉터리 이름만 포함 될 수 있습니다.If your code does not have FileIOPermissionAttribute.PathDiscovery permission, the error message for this exception may contain only file or directory names instead of full paths.

이전의 .NET Framework 버전에서 실행 되는 앱에서는 .NET Framework 4.6.2.NET Framework 4.6.2 Windows 운영 체제와의 호환성을 유지 하기 위해 전체 경로가 260 자를 초과 해서는 안 됩니다.In apps that run under versions of the .NET Framework prior to the .NET Framework 4.6.2.NET Framework 4.6.2, full paths must not exceed 260 characters to maintain compatibility with Windows operating systems. 260 자를 초과 하는 경로는 자동으로을 throw PathTooLongException 합니다.Any path in excess of 260 characters automatically throws a PathTooLongException. 이 제한에 대 한 자세한 내용은 BCL 팀 블로그에서 .net의 긴 경로 항목을 참조 하세요.For more information about this restriction, see the entry Long Paths in .NET in the BCL Team blog.

참고

이 예외는 Windows 스토어 앱 용 .net 또는 이식 가능한 클래스 라이브러리에는 포함 되어 있지 않지만, 일부 멤버는이 예외를 throw 합니다.This exception is not included in .NET for Windows Store apps or the Portable Class Library, but it is thrown by some members that are. 이 경우 예외를 catch 하려면를 catch 대신 처리 하는 문을 작성 IOException 합니다.To catch the exception in that case, write a catch statement that handles an IOException instead.

에서 실행 되는 앱부터 .NET Framework 4.6.2.NET Framework 4.6.2 .NET Framework는 260 (또는) 자를 넘는 긴 경로를 지원 합니다 MAX_PATH .Starting with apps running under the .NET Framework 4.6.2.NET Framework 4.6.2, the .NET Framework supports long paths in excess of 260 (or MAX_PATH) characters. 예외가 발생 하는 조건은 PathTooLongException 앱이 대상으로 하는 .NET Framework 버전에 따라 달라 집니다.The conditions under which a PathTooLongException exception are thrown depend on the version of the .NET Framework that an app targets:

이상 버전을 대상으로 하는 앱 .NET Framework 4.6.2.NET Framework 4.6.2Apps that target the .NET Framework 4.6.2.NET Framework 4.6.2 and later versions
긴 경로는 기본적으로 지원 됩니다.Long paths are supported by default. 런타임은 PathTooLongException 다음 조건에서을 throw 합니다.The runtime throws a PathTooLongException under the following conditions:

  • 운영 체제가 COR_E_PATHTOOLONG 또는 동급을 반환하는 경우The operating system returns COR_E_PATHTOOLONG or its equivalent.

  • 경로 길이가 Int16.MaxValue (32767) 자를 초과 합니다.The length of the path exceeds Int16.MaxValue (32,767) characters.

및 이전 버전을 대상으로 하는 앱 .NET Framework 4.6.1.NET Framework 4.6.1Apps that target the .NET Framework 4.6.1.NET Framework 4.6.1 and earlier versions
긴 경로는 기본적으로 사용 되지 않으며 레거시 동작이 유지 됩니다.Long paths are disabled by default, and the legacy behavior is maintained. PathTooLongException경로가 260 자를 초과할 때마다 런타임에서을 throw 합니다.The runtime throws a PathTooLongException whenever a path exceeds 260 characters.

원치 않는 경우, 이전 버전을 대상으로 하지만에서 실행 되는 앱 .NET Framework 4.6.1.NET Framework 4.6.1.NET Framework 4.6.2.NET Framework 4.6.2 <runtime> 응용 프로그램 구성 파일의 요소에 다음 설정을 포함 하 여 긴 경로 지원을 사용할 수 있습니다.If this is undesirable, apps that target the .NET Framework 4.6.1.NET Framework 4.6.1 and earlier but run under the .NET Framework 4.6.2.NET Framework 4.6.2 can enable long path support by including the following setting in the <runtime> element of the application configuration file:

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

PathTooLongExceptionCOR_E_PATHTOOLONG0x800700CE 값이 포함 된 HRESULT를 사용 합니다.PathTooLongException uses the HRESULT COR_E_PATHTOOLONG, which has the value 0x800700CE.

생성자

PathTooLongException()

COR_E_PATHTOOLONG으로 설정된 HRESULT를 사용하여 PathTooLongException 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the PathTooLongException class with its HRESULT set to COR_E_PATHTOOLONG.

PathTooLongException(SerializationInfo, StreamingContext)

지정한 직렬화 및 컨텍스트 정보를 사용하여 PathTooLongException 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the PathTooLongException class with the specified serialization and context information.

PathTooLongException(String)

message로 설정된 메시지 문자열과 COR_E_PATHTOOLONG으로 설정된 HRESULT를 사용하여 PathTooLongException 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the PathTooLongException class with its message string set to message and its HRESULT set to COR_E_PATHTOOLONG.

PathTooLongException(String, Exception)

지정된 오류 메시지와 해당 예외의 원인인 내부 예외에 대한 참조를 사용하여 PathTooLongException 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the PathTooLongException class with a specified error message and a reference to the inner exception that is the cause of this exception.

속성

Data

예외에 대한 사용자 정의 정보를 추가로 제공하는 키/값 쌍 컬렉션을 가져옵니다.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(다음에서 상속됨 Exception)
HelpLink

이 예외와 연결된 도움말 파일에 대한 링크를 가져오거나 설정합니다.Gets or sets a link to the help file associated with this exception.

(다음에서 상속됨 Exception)
HResult

특정 예외에 할당된 코드화된 숫자 값인 HRESULT를 가져오거나 설정합니다.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(다음에서 상속됨 Exception)
InnerException

현재 예외를 발생시킨 Exception 인스턴스를 가져옵니다.Gets the Exception instance that caused the current exception.

(다음에서 상속됨 Exception)
Message

현재 예외를 설명하는 메시지를 가져옵니다.Gets a message that describes the current exception.

(다음에서 상속됨 Exception)
Source

오류를 발생시키는 애플리케이션 또는 개체의 이름을 가져오거나 설정합니다.Gets or sets the name of the application or the object that causes the error.

(다음에서 상속됨 Exception)
StackTrace

호출 스택의 직접 실행 프레임 문자열 표현을 가져옵니다.Gets a string representation of the immediate frames on the call stack.

(다음에서 상속됨 Exception)
TargetSite

현재 예외를 throw하는 메서드를 가져옵니다.Gets the method that throws the current exception.

(다음에서 상속됨 Exception)

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetBaseException()

파생 클래스에서 재정의된 경우 하나 이상의 후속 예외의 근본 원인이 되는 Exception 을 반환합니다.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(다음에서 상속됨 Exception)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetObjectData(SerializationInfo, StreamingContext)

파생 클래스에서 재정의된 경우 예외에 관한 정보를 SerializationInfo 에 설정합니다.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(다음에서 상속됨 Exception)
GetType()

현재 인스턴스의 런타임 형식을 가져옵니다.Gets the runtime type of the current instance.

(다음에서 상속됨 Exception)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 예외에 대한 문자열 표현을 만들고 반환합니다.Creates and returns a string representation of the current exception.

(다음에서 상속됨 Exception)

이벤트

SerializeObjectState

예외에 대한 serialize된 데이터가 들어 있는 예외 상태 개체가 만들어지도록 예외가 serialize될 때 발생합니다.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(다음에서 상속됨 Exception)

적용 대상

추가 정보