다음을 통해 공유


예외 처리 소개

업데이트: 2007년 11월

Visual Basic에서는 구조적 및 비구조적 예외(오류) 처리를 모두 지원합니다. 응용 프로그램에 예외 처리 코드를 추가하여 발생할 수 있는 대부분의 오류를 처리하고 응용 프로그램이 계속 실행되도록 할 수 있습니다. 구조적 및 비구조적 오류 처리를 사용하면 잠재적 오류에 대한 대비책을 세워 응용 프로그램이 중단되지 않도록 할 수 있습니다.

예외가 발생할 수 있는 연산자를 사용하는 메서드나, 예외가 발생할 수 있는 다른 프로시저를 호출 또는 액세스하는 프로시저에 오류 처리를 사용할 필요가 있습니다.

예외를 처리할 수 없는 메서드에서 예외가 발생하는 경우 이 예외는 호출 메서드나 이전 메서드로 다시 전파됩니다. 이전 메서드에도 예외 처리기가 없으면, 예외는 이 메서드의 호출자로 다시 전파되는 일련의 과정을 거치게 됩니다. 처리기를 찾는 작업은 응용 프로그램 내에서 호출된 일련의 프로시저인 호출 스택을 따라 연속적으로 이루어집니다. 그래도 예외 처리기를 찾지 못할 경우에는 오류 메시지가 표시되고 응용 프로그램이 종료됩니다.

참고:

메서드 하나에는 구조적 또는 비구조적 예외 처리 중 하나만 사용할 수 있습니다.

구조적 예외 처리

구조적 예외 처리에서 코드 블록은 캡슐화되며 각 블록은 하나 이상의 처리기와 연결됩니다. 각 처리기는 처리하는 예외 유형에 대해 일정한 형태의 필터 조건을 지정합니다. 보호된 블록의 코드에서 예외가 발생하면 해당 처리기가 차례로 검색되고, 필터 조건이 일치하는 첫 번째 처리기가 실행됩니다. 하나의 메서드에 여러 개의 구조적 예외 처리 블록이 포함될 수 있으며 블록들이 서로 중첩될 수도 있습니다.

구조적 예외 처리에서는 구체적으로 Try...Catch...Finally 문이 사용됩니다. 자세한 내용은 Visual Basic의 구조적 예외 처리 개요를 참조하십시오.

비구조적 예외 처리

On Error 문은 특히 비구조적 예외 처리에 사용됩니다. 비구조적 예외 처리에서는 On Error 문을 코드 블록의 시작 부분에 둡니다. 그러면 해당 블록이 해당 문의 "범위"가 되고, 문은 블록 내에서 발생하는 모든 오류를 처리합니다. 프로그램이 다른 On Error 문을 발견하면 원래의 문은 효력을 상실하고 새로 발견된 문이 유효하게 됩니다. 자세한 내용은 비구조적 예외 처리 개요를 참조하십시오.

참고 항목

작업

예외 처리 문제 해결

연습: 구조적 예외 처리

개념

오류의 종류

Visual Basic의 구조적 예외 처리 개요

비구조적 예외 처리 개요

참조

On Error 문(Visual Basic)

기타 리소스

예외 처리 작업