Microsoft MVP성태의 닷넷 이야기
try/finally 에 관해서 문의 드립니다. [링크 복사], [링크+제목 복사],
조회: 11092
글쓴 사람
최종문 (jm49.choi at samsung.com)
홈페이지
첨부 파일
 

안녕하세요.

try/finally에 관해 MSDN이나 CLR via C# 등의 책에서는
try{} 코드 블럭에서 예외가 발생하던 하지 않던 finally{} 블럭이 실행된다고 나와 있습니다.

예를 들면..
ex) http://msdn.microsoft.com/en-us/library/zwc8s4fz(VS.80).aspx
// try-finally
using System;
public class MainClass
{
    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);
        }
    }
}
Although an exception was caught, the output statement included in the finally block will still be executed, that is:
i = 123
For more information on finally, see try-catch-finally.

위와 같이 try{} 블럭에서 예외가 발생했지만 finally{} 블럭이 실행된 것을 알 수 있습니다.

하지만 위의 코드를 VS2008에서 큰솔프로젝트에 위의 코드를 작성하고
Release/Debug로 빌드하여 실행해보면 finally{} 블럭이 실행되지 않습니다.

그런데 try/finally 사이에 catch(Exception e){} 블럭을 삽입하고 다시 실행하면
finally{} 블럭이 실행됩니다.


try/finally 만 사용했을 때, try 블럭에서 예외가 발생하면 MSDN에서는 finally가 무조건 실행된다고 하는데 막상 코드로 실행해보면 finally가 실행되지 않습니다. 왜 이런 것일까요?

감사합니다.








[최초 등록일: ]
[최종 수정일: 7/14/2010]


비밀번호

댓글 작성자
 




... 16  17  18  [19]  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5455한예지 donator1/16/20216615교재 194페이지 콜백메서드 질문 있습니다! [5]
5454한예지 donator1/15/20216248교재 208쪽 질문....있습니다... [3]
5453안녕하세요1/15/20217658C# dll 파일을 C++에서 사용 시 memory leak 문제 [2]파일 다운로드1
5452예지1/15/20216805var를 사용할 수 없는 이유가 궁금합니다! [3]
5451예지1/14/20215629for문의 초기식에 대해 질문드립니다. [3]
5450예지1/13/20215651Action 델리게이트 사용법 질문있습니다! [2]
5449김성민1/13/20216363Winform UserControl 상속 vs 감싸기? [2]
5448서형주1/13/20216072안녕하세요~~ DataGridView에 데이터를 표시하는 동작방법이 궁금합니다. [2]
5447종범1/11/20217751[WPF/OpenCV] 이미지->영상 저장에 대해서 질문 드립니다!! [5]파일 다운로드1
5446민우1/11/20215811닷넷 런타임을 dll 파일로 포함시킬수 있나요? [2]
5445정도현1/8/20215561directShow RenderFile 관련 재질문드립니다 [5]파일 다운로드1
5444정도현1/8/20215544directShow RenderFile 관련 질문드립니다 [3]
5443윤영호1/7/20215927xml 파일에서 데이터를 가지고 와서 list에 넣는 것을 질문드리고 싶습니다. [1]파일 다운로드1
5442진우1/4/20215751DB연결 객체나 파일 등은 GC 에서 관리해주지 않는 이유가 궁금합니다. [2]
5441한예지 donator1/4/20216175DB 연결 방법 질문 있습니다. [1]
5440한예지 donator1/1/20216807추상클래스로와 new [4]
5439이상호12/31/20208383VC 프로젝트 에서 _main 함수에서 참조되는 확인할 수 없는 외부 기호 [4]파일 다운로드1
5438김윤12/29/202010573C# winform using으로인한 메모리 해제 타이밍과 변수 복사 타이밍 [2]
5437한예지 donator12/25/20207594for문 안에 있는 지역변수의 생성 및 유지 기간에 대해 질문드립니다! [6]
5436영귤12/24/20206298fixed는 자동으로 stackalloc이 되는 건가요? [1]
5435한예지 donator12/24/20206136ArraySegment, Span, ReadOnlySpan 질문있습니다! [1]
5434한예지 donator12/23/20206709ToString 재정의 질문있습니다! [8]
5433한예지 donator12/23/20206705List<ArrarySegment<int>> 사용법 질문드립니다! [2]
5431한예지 donator12/17/20208468비동기 소켓 서버 질문 드립니다! [1]
5430종범12/16/20207563[WPF] Task 관련 재질문 드립니다. [2]파일 다운로드1
5429종범12/16/20207471[WPF] Task 관련 질문 드립니다. [1]파일 다운로드1
... 16  17  18  [19]  20  21  22  23  24  25  26  27  28  29  30  ...