다음을 통해 공유


방법: 예외 도우미 사용

런타임 예외가 발생할 때마다 나타나는 예외 도우미에는 예외의 형식, 문제 해결 팁, 수정 작업 등에 대한 정보가 표시됩니다. 예외 도우미를 사용하여 예외 개체에 대한 자세한 정보를 볼 수도 있습니다.

예외는 Exception 클래스에서 상속되는 개체입니다. 예외는 문제가 발생할 때 코드에서 throw됩니다. 예외는 응용 프로그램에서 이를 처리하거나 프로그램이 실패할 때까지 스택을 통해 위로 전달됩니다.

참고

대화 상자에서 사용할 수 있는 옵션과 메뉴 명령의 이름 및 위치는 실제 설정이나 버전에 따라 도움말에서 설명하는 것과 다를 수 있습니다.이 도움말 페이지는 일반 개발 설정을 염두에 두고 작성되었습니다.설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다.자세한 내용은 Visual Studio에서 개발 설정 사용자 지정을 참조하십시오.

다음 표에서는 예외 개체의 속성과 설명을 보여 줍니다. 예외 형식에 따라 일부 속성은 나열되지 않을 수도 있습니다.

Property

설명

데이터

사용자 정의 키/값 쌍이 들어 있는 IDictionary 개체입니다. 기본값은 빈 컬렉션입니다.

FileName

예외의 원인이 된 파일의 이름입니다.

FusionLog

어셈블리를 로드하지 못한 원인을 설명하는 로그 파일입니다.

HelpLink

예외와 관련된 도움말 파일에 대한 링크입니다.

HResult

특정 예외에 할당되어 코딩된 숫자 값입니다.

InnerException

현재 예외를 발생시킨 Exception 인스턴스입니다. 때로는 도우미 루틴에서 throw된 예외를 catch한 다음 오류에 대한 더 많은 정보를 제공하는 새 예외를 throw하는 것이 좋을 수도 있습니다. 이 경우 InnerException 속성은 원래 예외로 설정됩니다.

Message

예외와 관련된 메시지입니다. 이 메시지는 예외를 throw하는 스레드의 CurrentUICulture 속성에서 지정한 언어로 표시됩니다.

Source

예외의 원인이 된 응용 프로그램이나 개체의 이름입니다. Source를 설정하지 않으면 예외가 발생한 어셈블리의 이름이 반환됩니다.

StackTrace

현재 예외가 throw된 시점에 호출 스택에 있는 메서드 호출의 문자열 표현입니다. 디버깅 정보를 사용할 수 있는 경우 스택 추적에는 소스 파일 이름과 프로그램 줄 번호가 포함됩니다. 최적화하는 동안 코드 변환이 발생하기 때문에 StackTrace는 예상만큼 많은 메서드 호출을 보고하지 않을 수 있습니다. 스택 추적은 예외가 throw되기 직전에 캡처됩니다.

TargetSite

현재 예외를 throw하는 메서드입니다. 예외를 throw하는 메서드를 알 수 없고 스택 추적이 null 참조(Visual Basic의 경우 Nothing)가 아닌 경우 TargetSite는 스택 추적에서 메서드를 가져옵니다. 스택 추적이 null 참조인 경우 TargetSite도 null 참조를 반환합니다.

예외 개체에 대한 더 많은 정보를 확인하려면

  • 작업 창에서 자세히 보기를 클릭합니다. 예외의 속성을 표시하는 대화 상자가 나타납니다.

참고 항목

작업

방법: HRESULT 및 예외 매핑

방법: 예외 도우미를 사용하여 런타임 오류 수정

참조

예외 도우미 대화 상자

기타 리소스

Choosing When to Use Structured and Unstructured Exception Handling

예외 처리 및 Throw

How to: Check an Exception's Inner Exception