SEHException 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SEH(구조적 예외 처리) 오류를 나타냅니다.
public ref class SEHException : Exception
public ref class SEHException : System::Runtime::InteropServices::ExternalException
public class SEHException : Exception
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SEHException : System.Runtime.InteropServices.ExternalException
type SEHException = class
inherit Exception
type SEHException = class
inherit ExternalException
[<System.Serializable>]
type SEHException = class
inherit ExternalException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SEHException = class
inherit ExternalException
Public Class SEHException
Inherits Exception
Public Class SEHException
Inherits ExternalException
- 상속
- 상속
- 특성
설명
SEHException 클래스는 관리되지 않는 코드에서 throw되지만 다른 .NET Framework 예외에 매핑되지 않은 SEH 오류를 처리합니다.
SEHException 클래스는 HRESULT
E_FAIL
(0x80004005)에도 해당합니다.
.NET Framework는 관리되는 동등한 항목에 자동으로 매핑되는 관리되지 않는 SEH 예외가 발생하는 경우가 많습니다. 다음과 같은 두 가지 일반적인 관리되지 않는 SEH 예외가 있습니다.
STATUS_NO_MEMORY
예외는 OutOfMemoryException 클래스에 자동으로 매핑됩니다.STATUS_ACCESS_VIOLATION
예외는 다음과 같이 자동으로 매핑됩니다.legacyNullReferencePolicy
적용되면 모든 액세스 위반이 NullReferenceException 클래스에 매핑됩니다.읽기/쓰기가 시도된 주소가 JIT 컴파일 코드에 없으면 예외가 AccessViolationException 클래스에 매핑됩니다.
읽기/쓰기가 시도된 주소가 JIT 컴파일 코드에 있지만 OS Null 파티션 영역에 없는 경우 예외가 AccessViolationException 클래스에 매핑됩니다.
legacyNullReferencePolicy
없고 읽기/쓰기가 시도된 주소가 JIT 컴파일 코드 및 OS Null 파티션 영역에 있는 경우 예외가 NullReferenceException 클래스에 매핑됩니다.
특정 예외에 자동으로 매핑되지 않는 모든 SEH 예외는 기본적으로 SEHException 클래스에 매핑됩니다.
SEHException 클래스는 관리되지 않는 C++ 예외 소멸자를 호출하지 않습니다. 관리되지 않는 C++ 예외 소멸자가 호출되도록 하려면 catch
블록에서 다음 구문을 사용합니다.
Catch
' Handle catch here.
End Try
catch
{
// Handle catch here.
}
catch(…)
{
// Handle catch here.
}
생성자
SEHException() |
SEHException 클래스의 새 인스턴스를 초기화합니다. |
SEHException(SerializationInfo, StreamingContext) |
사용되지 않음.
serialization 데이터에서 SEHException 클래스의 새 인스턴스를 초기화합니다. |
SEHException(String) |
지정된 메시지를 사용하여 SEHException 클래스의 새 인스턴스를 초기화합니다. |
SEHException(String, Exception) |
지정된 오류 메시지와 이 예외의 원인인 내부 예외에 대한 참조를 사용하여 SEHException 클래스의 새 인스턴스를 초기화합니다. |
속성
Data |
예외에 대한 추가 사용자 정의 정보를 제공하는 키/값 쌍의 컬렉션을 가져옵니다. (다음에서 상속됨 Exception) |
ErrorCode |
오류의 |
HelpLink |
이 예외와 연결된 도움말 파일에 대한 링크를 가져오거나 설정합니다. (다음에서 상속됨 Exception) |
HResult |
특정 예외에 할당된 코딩된 숫자 값인 HRESULT를 가져오거나 설정합니다. (다음에서 상속됨 Exception) |
InnerException |
현재 예외를 발생시킨 Exception 인스턴스를 가져옵니다. (다음에서 상속됨 Exception) |
Message |
현재 예외를 설명하는 메시지를 가져옵니다. (다음에서 상속됨 Exception) |
Source |
오류를 발생시키는 애플리케이션 또는 개체의 이름을 가져오거나 설정합니다. (다음에서 상속됨 Exception) |
StackTrace |
호출 스택에서 직접 실행 프레임의 문자열 표현을 가져옵니다. (다음에서 상속됨 Exception) |
TargetSite |
현재 예외를 throw하는 메서드를 가져옵니다. (다음에서 상속됨 Exception) |
메서드
CanResume() |
예외를 복구할 수 있는지 여부와 예외가 throw된 지점에서 코드를 계속할 수 있는지 여부를 나타냅니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
GetBaseException() |
파생 클래스에서 재정의되는 경우 하나 이상의 후속 예외의 근본 원인인 Exception 반환합니다. (다음에서 상속됨 Exception) |
GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
GetObjectData(SerializationInfo, StreamingContext) |
사용되지 않음.
파생 클래스에서 재정의되는 경우 예외에 대한 정보를 사용하여 SerializationInfo 설정합니다. (다음에서 상속됨 Exception) |
GetType() |
현재 인스턴스의 런타임 형식을 가져옵니다. (다음에서 상속됨 Exception) |
MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 예외의 문자열 표현을 만들고 반환합니다. (다음에서 상속됨 Exception) |
ToString() |
오류의 HRESULT를 포함하는 문자열을 반환합니다. (다음에서 상속됨 ExternalException) |
이벤트
SerializeObjectState |
사용되지 않음.
예외에 대한 직렬화된 데이터를 포함하는 예외 상태 개체를 만들기 위해 예외가 serialize될 때 발생합니다. (다음에서 상속됨 Exception) |
적용 대상
추가 정보
- Exception
- .NET 예외 처리 및 throw
- 방법: HRESULT 및 예외 매핑
- 구조적 예외 처리(C/C++)
.NET