방법: Finally 블록 사용
업데이트: 2007년 11월
예외가 발생하면 실행이 중단되며 가장 가까운 예외 처리기로 제어가 넘어갑니다. 이것은 항상 호출될 것으로 예상되는 일련의 코드가 실행되지 않음을 의미합니다. 파일 닫기와 같은 일부 리소스의 정리는 예외가 throw되어도 항상 실행되어야 합니다. 이렇게 하기 위해 finally 블록을 사용할 수 있습니다. finally 블록은 예외의 throw 여부에 관계없이 항상 실행됩니다.
다음 코드 예제에서는 try/catch 블록을 사용하여 ArgumentOutOfRangeException을 catch합니다. Main 메서드는 두 개의 배열을 만들어 한 배열을 다른 배열로 복사합니다. 이러한 복사 작업으로 인해 ArgumentOutOfRangeException이 생성되며 오류가 콘솔에 표시됩니다. finally 블록은 복사 작업의 결과에 관계없이 실행됩니다.
예제
Imports System
Class ArgumentOutOfRangeExample
Public Shared Sub Main()
Dim array1 As Integer() = {0, 0}
Dim array2 As Integer() = {0, 0}
Try
Array.Copy(array1, array2, - 1)
Catch e As ArgumentOutOfRangeException
Console.WriteLine("Error: {0}", e)
Finally
Console.WriteLine("This statement is always executed.")
End Try
End Sub 'Main
End Class 'ArgumentOutOfRangeExample
using System;
class ArgumentOutOfRangeExample
{
static public void Main()
{
int[] array1={0,0};
int[] array2={0,0};
try
{
Array.Copy(array1,array2,-1);
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine("Error: {0}",e);
}
finally
{
Console.WriteLine("This statement is always executed.");
}
}
}
참고 항목
작업
방법: Try/Catch 블록을 사용하여 예외 catch