Microsoft MVP성태의 닷넷 이야기
전역 예외처리에 대해 질문있습니다. [링크 복사], [링크+제목 복사],
조회: 18652
글쓴 사람
다연아빠 (whee72 at google.com)
홈페이지
첨부 파일
 

성태님 안녕하십니까? 저는 지방에서 SI 업계에 종사하는 초보 개발자 입니다.
궁금한걸 못참아 글을 쓰게되었습니다.
메인 폼에서 발생하는 예외를 처리 방법을 바꾸고 싶은데
아무리 찾아보고 고민해도 방법을 몰라 글을 쓰게 되었습니다.
구글링을 하면 찾을 수 있는 일반적인 방법이고 저도 이렇게 쓰고 있었습니다.
----program.cs-------
        [STAThread]
        static void Main()
        {
            Application.ThreadException += new ThreadExceptionEventHandler(Form1_UIThreadException);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
        public static void Form1_UIThreadException(object sender, ThreadExceptionEventArgs t)
        {
            MessageBox.Show("Error");
        }

헌데 예외처리를 클래스 메소드에서 처리하는 방법으로 구현한 코드를 봤습니다.
SetControl메소드에서는 매개변수로 Control을 받구요.
컨트롤을 넘겨받아 어떻게 메인폼에서 발생하는 예외를 다 받을 수 있는지 도저히 모르겠습니다.
 
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            ExceptionClass exClass = new ExceptionClass();
            Form1 frm = new Form1();
            exClass.SetControl(frm);
            Application.Run(frm);
        }

--------ExceptionClass.cs------------
   public class ExceptionClass
    {
        public void SetControl(Control ctrl)
        {
             //여기서 대체 무슨일이 일어나는 겁니까?
        }
    }


ps C# 6.0 책 잘봤습니다.
현역개발자라 6.0에서 추가된 내용만 볼려고 샀는데
기초부터 고급까지 설명을 잘 해놓으셔서 처음부터 정독했습니다.
좋은 글 감사합니다.








[최초 등록일: ]
[최종 수정일: 7/23/2017]


비밀번호

댓글 작성자
 



2017-07-23 01시29분
.NET Reflector 같은 디컴파일러 도구를 이용하면 SetControl에서 발생하는 것이 뭔지 알 수 있을 것입니다. 마법은 없기 때문에, 파악하실 수 있을 것입니다.
정성태
2017-07-24 02시03분
[다연아빠] 디컴파일러를 사용 할 수 없는 상황입니다 하하;;
[guest]
2017-07-24 02시56분
이런 경우에는 상상력이 과도한 문제일 수 있습니다. ExceptionClass.SetControl이 결국 내부적으로는 Application.ThreadException을 호출하는 걸 수도 있습니다. 그건 그렇고... 그렇다면 SetControl이 MainForm의 예외를 처리한다는 것은 어떻게 아신 건가요? 그냥 매뉴얼에 그렇게 써 있는 건가요?
정성태

... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
326권인성2/23/200611366    답변글 [답변]: 한가지만 더 질문할게요.... [1]
323정보문2/21/200611789메일 내용에서 한글이 깨집니다. [1]파일 다운로드1
321셈토2/18/200611612SPOOL --> EMF --> TEXTOUT [1]
320정보문2/18/200611388파일의 최대 크기2 [1]
318정보문2/18/200612498파일의 최대 크기
319정성태2/18/200612573    답변글 [답변]: 파일의 최대 크기 [1]
317narc...2/17/200611659[IE embeded SmartClient]에서 닷넷 리모팅 프록시 사용시 처음 2분간 딜레이현상이 발생합니다. [1]
322narc...2/20/200612524    답변글 [답변]: 다시한번 부탁드리겠습니다..
316이경찬2/15/200613928MSDN 매거진 정기구독 신청은 어디서 할수있나요? [1]
315정준명2/15/200617375[DxFramework Lite] 분산 트랜잭션에 참여하는 동안 오류가 발생했습니다. [2]
314이윤희2/14/200611583엑셀변환시....그림을 넣을려면. [1]
313장강현2/14/200611786SmartClient 디버그 문제 [1]
312정보문2/13/200611814방법2006 [1]
309정보문2/10/200612923edit & continue [3]
308김용국2/11/200611375스마트클라이언트 관련질문 [ Client 에서 WebPage의 JavaScript 호출방법이 있을까요? 있다고는 한것 같은데..부탁드림^^
310정성태2/11/200610863    답변글 [답변]: 스마트클라이언트 관련질문 [ Client 에서 WebPage의 JavaScript 호출방법이 있을까요? 있다고는 한것 같은데..부탁드림^^
307narc...2/10/200612646IE Embeded 스마트클라이언트는 UserControl만 가능한가요? [2]
305정보문2/10/200612787웹 컨트롤
306정성태2/10/200612351    답변글 [답변]: 웹 컨트롤
303정보문2/10/200613296회원가입성공을 기념으로 질문 한 가지 던집니다.
304정성태2/10/200611726    답변글 [답변]: 회원가입성공을 기념으로 질문 한 가지 던집니다.
302김성2/7/200612916C#이나 VB.NET 으로 만든 것을 SETUP 해서 배포하려고 하는데요.. [1]
301참깨2/3/200617180개체가 이 속성 또는 메소드를 지원하지 않습니다. [1]
300김종욱2/2/200611512안녕하세요 [2]
299꼬부기1/19/200610675스마트클라이언트 관련 질문입니다... [2]
298정말초짜1/12/200610916smart client 질문입니다. [1]
... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...