C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[1100] [질문] 예외 처리에 관한 질문/프포
humanwar [ ] 4070 읽음    1999-02-14 14:53

예외 처리에 관한 질문입니다.

WIN32의 구조화된 예외처리와 C++ 예외처리의 차이점, 관계.. 에 대한
질문입니다.

먼저 제가 현재 어느정도 이해하고 있는지를 참고하시라고 "" 안에 그에 대해

적도록 하겠습니다. 틀린 부분이 있다면 반드시 정정해 주시기 바랍니다.


" WIN32의 구조화된 예외처리는 운영체제 차원에서 지원하는 예외처리이다.

   이 것은 따로 코드상에서 처리를 해 주지 않는다면 윈도우가 자체의 예외

   처리 로직을 사용한다.

   C++ 예외처리는 C에서의 함수의 반환값을 이용한 예외처리 개념에서 발전된

   C++에 추가된 개념이다. WIN32의 구조화된 예외처리가 운영체제 차원에서
예외를

   발생시키는데 반해 C++ 예외처리를 하려면 먼저 throw 구문을 이용해 꼭 예외를

   발생시켜야 한다. "


" WIN32의 구조화된 예외처리는 윈도우 운영체제 자체에서 발생시키고 그에 대한

예외 처리 로직도 윈도우 자체가 가지고 있고(물론 소스상에 처리 루틴을
넣는다면

윈도우 자체의 처리 루틴을 사용하지 않는다),

C++ 예외처리는 그에 반해 소스상에서 예외를 발생시켜 주어야 하며 처리 루틴도

소스상에서 구현을 해야 된다. "


" MFC 클래스나 씨빌더(델파이)의 컴포넌트 소스에는 운영체제 차원에서

   발생시키는 WIN32 예외의 처리 루틴을 작성하고 그 루틴에서 C++ 예외처리의

   throw 구문을 사용해서 그에 상응하는 예외를 발생시킨다. 그러면 그 MFC

   클래스나 컴포넌트를 사용하는 부분에서 예외처리를 하려고 하면

   C++ 예외처리 구문들을 사용하면 되는 것이다.

   그런데 여기서 WIN32 예외 처리를 바로 사용하지 않고 각 MFC 클래스나
컴포넌트

   에서 C++ 예외처리로 포장(?)하는 이유는 WIN32 예외를 각 MFC 클래스나
컴포넌트

   별의 세분화(?)된 예외로 처리하기 위해서이다.(한 WIN32 예외를
가지고서도 각

   MFC 클래스나 컴포넌트 별로 그 MFC 클래스나 컴포넌트에 맞게 서로 다른
메시지

   박스를 출력하는 등의..) "


위의 개념들 말고도 제 원 질문인 " WIN32의 구조화된 예외처리와 C++ 예외처리의

차이점, 관계.. " 에 대해 더 설명이 필요하다면 해 주시고요.

긴 질문 읽어 주셔서 감사합니다. 그럼 행복하세요.




+ -

관련 글 리스트
1100 [질문] 예외 처리에 관한 질문/프포 humanwar 4070 1999/02/14
1111     [답변] HUMANWAR/ 예외 처리에 관한 질문/프포 박지훈.임프 3886 1999/02/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.