본문스크랩 예외 처리문 (try-finally)


finally블록은try블록에서 할당된 리소스를 정리할 때 유용합니다. try 블록이 종료되는 방법에 관계 없이 항상 제어가 finally 블록으로 전달됩니다. 이 문은 다음 형식을 사용합니다.

 

trytry-blockfinallyfinally-block

 

다음은 각 문자에 대한 설명입니다.

try-block : 예외가 발생할 수 있는 코드 세그먼트를 포함합니다.

finally-block : 예외 처리기와 정리 코드를 포함합니다.

 

 

설명

catch가 문 블록에서 발생하는 예외를 처리하는 반면finally는 선행하는try블록의 종료 방법에 관계 없이 코드의 문 블록이 반드시 실행되도록 하는 데 사용됩니다.

 

예제

// try-finally
using System;
public class TestTryFinally
{
   public static void Main()
   {
      int i = 123;
      string s = "Some string";
      object o = s;

      try
      {
         // Invalid conversion; o contains a string not an int
         i = (int) o;  
      }

      finally
      {
         Console.Write("i = {0}", i);
      }        
   }
}

 

예외가 catch되었지만finally블록에 포함된 출력 문은 다음과 같이 여전히 실행됩니다.

i = 123

 


답글 남기기

이메일 주소는 공개되지 않습니다.