방법: Visual Basic에서 Try…Finally 블록을 사용하여 리소스 정리

Try 블록 내에 Finally 문을 사용하여 할당된 리소스를 정리할 수 있습니다. Finally 블록의 코드는 예외 처리 코드가 실행된 후 제어가 호출 프로시저로 반환되기 전에 실행됩니다. 코드에서 예외를 throw하는 경우나 Catch 블록 내에 명시적 Exit Function 또는 Exit Sub 문을 추가하는 경우에도 Finally 블록의 코드는 실행됩니다.

특정 예외를 catch할 필요가 없는 경우, Try…Finally 블록처럼 동작하는 Using 문을 사용하면 블록 종료 방식에 관계없이 리소스를 삭제할 수 있습니다. 이는 처리되지 않은 예외의 경우에도 해당됩니다. 자세한 내용은 Using 문(Visual Basic)을 참조하십시오.

Finally 문을 사용하여 리소스를 정리하려면

  • Finally 블록 내에 예외 발생 여부와 관계없이 실행할 코드를 넣습니다. 다음 코드는 StreamReader를 만들고 이를 사용하여 파일에서 읽습니다.

    Dim reader As New System.IO.StreamReader("C:\testfile")
    Try
        reader.ReadToEnd()
    Catch ex As System.IO.IOException
        MsgBox("Could not read file")
    Finally
        'This command is executed whether or not the file can be read
        reader.Close()
    End Try
    

참고 항목

작업

방법: Visual Basic에서 Try...Catch 블록을 사용하여 코드 테스트

방법: 예외의 내부 예외 검사(Visual Basic)

방법: 시스템 리소스 해제(Visual Basic)

참조

Using 문(Visual Basic)

기타 리소스

예외 처리 작업(Visual Basic)