Microsoft MVP성태의 닷넷 이야기
글쓴 사람
감사합니다.
홈페이지
첨부 파일
 

namespace ExceptionTest
{
    class Program
    {
        static void Func1()
        {
            Console.WriteLine("Func1");
            string str = null;
            str.ToString();
        }
        static void Func2()
        {
            Func1();
            Console.WriteLine("Func2");
        }

        static void Func3()
        {
            Func2();
            Console.WriteLine("Func2");
        }

        static void Func4()
        {
            Func3();
            Console.WriteLine("Func4");
        }


        static void Main(string[] args)
        {
            try
            {
                Func4();
            }
            catch (Exception ex)
            {
                Console.WriteLine("catch (Exception ex)");
                Console.WriteLine(ex.ToString());
                System.Threading.Thread.Sleep(5000);
                Environment.Exit(-1);
            }
        }
    }
}

위와 같은 테스트 코드인데 Func1()함수에서 예외 발생한 것은 미처리된 예외로 처리되어 비정상 종료되는 것으로 이해하고 있었는데
Func2() -> Func3() -> Func4() -> Main() 이와 같이 상위 함수로 계속 타고 올라가서 Main()함수의 try ~ catch 처리기에서
예외처리가 되네요.

그렇다면 콘솔프로그램같은 경우 별도의 쓰레드를 생성하지 않는다면 그냥 Main 함수 에서 try ~ catch 처리하면
Main()함수내의 모든 코드에서 발생되는 예외(단 모든 코드에는 try ~ catch 처리기가 없음)는 Main 함수의 try ~ catch에서 처리되는 건가요?

미리 감사드립니다.
수고하세요.








[최초 등록일: ]
[최종 수정일: 3/23/2022]


비밀번호

댓글 작성자
 



2022-03-23 10시20분
예, 맞습니다. 그리고 그와 관련해서 다음의 글도 보시면 도움이 되실 것입니다.

.NET 예외 처리 정리
; https://www.sysnet.pe.kr/2/0/316

또한, 위의 글에 "연관 글" 목록을 보면 WPF와 ASP.NET과 같은 특수한 사례에 대한 것도 있으니 함께 참고하시면 도움이 될 것입니다.
정성태
2022-03-23 10시22분
[감사합니다] 항상 도움주셔서 감사드리고 답변 감사합니다.
[guest]

... 76  [77]  78  79  80  81  82  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
579futu...2/16/200716088VS2005의 스마트 클라이언트에서 웹브라우저 예제 질문입니다. [1]
578정해봉2/16/200715246IE Embeded Assambly 방식에서 CAS 설정 방법 [1]
575박성민2/12/200716376COM에 데이터 보내기 질문입니다. [1]
571엔틱스2/7/200716905그냥... 질문은 아닙니다만... [2]
5682/6/200714196이런 오류 화면을 어떻게 찾아봐야 - 알아봐야 - 하는지요?파일 다운로드1
569정성태2/6/200715931    답변글 [답변]: 이런 오류 화면을 어떻게 찾아봐야 - 알아봐야 - 하는지요? [1]
570정성태2/6/200715635        답변글 [답변]: [답변]: 이런 오류 화면을 어떻게 찾아봐야 - 알아봐야 - 하는지요?
5732/8/200714620            답변글 [답변]: [답변]: [답변]: 이런 오류 화면을 어떻게 찾아봐야 - 알아봐야 - 하는지요? [1]파일 다운로드1
565한귀순2/5/200715305typed dataset 의 유용성
566정성태2/6/200717159    답변글 [답변]: typed dataset의 유용성 [1]
564정민영2/5/200715500혹시 이런 경우 보신적 있으신가 궁금합니다..^^; [2]
563창민이2/2/200715878Visual C++ COM Objects Returning Recordsets 사용에 대해.. [3]
562현석1/29/200715541C# 스마트응용장치에서 아이콘 움직이게하는거 질문요 ^^ [1]파일 다운로드1
559초보1/27/200717066급 질문 입니다. visual studio 자동 종료에 대한 질문입니다. [2]
558즈믄1/26/200716649.Net Framework v2.0에서 Winform의 Panel에 Excel파일 보여주기 [2]
556정재우1/26/200716804vista에서 smartclient의 System.Security.PermissionsRegistryPermission 에러 [1]
555dev....1/25/2007184322005 WebBrowser내에서 팝업 처리 문제 관련 질문입니다.
561정성태1/29/200721128    답변글 [답변]: 2005 WebBrowser 내에서 팝업 처리 문제 관련 질문입니다.
554sky1/23/200716869<급질문> interop 를 사용함에 있어 [2]
557sky1/26/200714108    답변글 [답변]: <급질문> interop 를 사용함에 있어
553deve...1/15/200716150오류가 나는데 도저히 모르겠네여...좀 봐주세요... [3]파일 다운로드1
551sky1/23/200715242[급질문] vb6으로 만들어진 dll 를
552정성태1/10/200716909    답변글 [답변]: [급질문] vb6으로 만들어진 dll 를 [1]
546오택성1/2/200715733스마트클라이언트 DebugIEHost.log 좀 봐 주세요. [9]
545심현철12/28/200615897ClickOnce를 이용한 SmartClient의 설치 자동화 방법에 대해서 문의를 드립니다. [1]
53912/26/200614981COM+ 자동등록 하니 속도가 영...?
... 76  [77]  78  79  80  81  82  83  84  85  86  87  88  89  90  ...