Microsoft MVP성태의 닷넷 이야기
try/finally 에 관해서 문의 드립니다. [링크 복사], [링크+제목 복사],
조회: 17553
글쓴 사람
최종문 (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)
5300nals...2/27/202015707vs2013에서 BinaryFormatter Serialize 후 vs2015에서 Deserialize시 예외 발생 [3]파일 다운로드1
5298질문2/26/202017769.lic 파일에 대해 질문 있습니다. [9]
5297임한승2/26/202013798vs2013에서 BinaryFormatter Serialize 후 vs2015에서 Deserialize시 예외 발생 건 [1]파일 다운로드1
5295나그네2/25/202016290클라이언트 PC 정보 조회관련.. [2]
5294닷넷초보ㅠ2/25/202016867윈폼으로 socket통신프로그램 만든후 release로 디버깅한 실행파일을 다른컴퓨터에서 실행할때 반응이없어요 [1]
5293탱코2/21/202016481검색을 하고 싶은데 어떻게 검색을 해야 할 지 모르겠습니다. [1]
5292아부리2/19/202015770XingApiNet 관련 질문 [3]
5291지현명2/15/202017595JsonConvert.Serialize 하고 Deserialize 할때 간헐적으로 한글 깨짐 현상 문의 합니다. [3]
5290베도빈2/15/202016665직접 제작한 사용자 정의 콘트롤 DLL, 실행파일에 포함시켜 배포할 수 있을까요? [1]
5288김성배2/14/202016630c# 참조추가 기능에서 DirectX 참조가 보이지 않아요.. DircetX 11 은 설치 되어 있습니다. [1]
5287C# 초...2/14/202014769프로그램 실행 질문 드립니다. [4]파일 다운로드1
5286gongs2/3/202025074윈도우 배율 및 레이아웃에 대한 질문입니다. [3]
5285강성욱1/27/202017141작업관리자에 표시되는 스레드 개수와 프로그램 내 스레드 개수 일치 [1]
5284이상준1/15/202024021출력창에 '스레드가 종료되었습니다' 문구 문의 [2]파일 다운로드1
5282봉봉이 1/13/202018759소켓 비동기 ReceiveTimeOut 구현 [9]파일 다운로드1
5281봉봉이 1/13/202017479소켓 비동기 ReceiveTimeOut 구현 [2]
5280sdd1/8/202015167데이터 저장, 배치파일 관련하여 질문드립니다. [4]
5279김창한12/27/201916292dsoframer ocx [3]
5278guest12/27/201914896CLR 스레드 풀 관련 질문 [1]
5277방문자12/26/201915017WindowsForm 질문드립니다. [3]
5276진우12/17/201918080c++/c# 에도 파이썬 가상환경 같은 기능 혹시 있는지 궁금합니다. [3]
5275송재필12/17/201916521아래 'c#8.0 프로그래밍 교제 예제 관련 문의 드립니다' 의 원인이 압축 파일의 문제인듯 합니다. [2]파일 다운로드1
5272정영훈12/13/201917569byte => string => byte 변환 문의드립니다. [5]파일 다운로드1
5270김세미12/3/201916228c#8.0 프로그래밍 교제 예제 관련 문의 드립니다. [4]
5269달려라라...12/2/201917063C# winform(framework) tabcontrol 에서 button 함수 관련 질문 [3]파일 다운로드1
5266엔벌잉11/26/201915649라즈베리파이 autostart관련 질문 [2]
... 16  17  18  19  20  21  22  23  24  25  [26]  27  28  29  30  ...