ㅁㄴㅇㄹ....
COM은 왜 HRESULT를 반환하면서도 예외를 던지지...?
SODMast..(bsmoo)
2012-02-25 14:46
추천 0
댓글 5
다른 게시글
-
c++ 예외처리 [6]SODMaster(bsmoo) | 12.02.25추천 0
-
구글코드잼 시작 [2]생물학(219.248) | 12.02.25추천 0
-
이제 boost를 적극 활용해 보려 하는데 어떤 버전이 제일 좋을려낭? [5]SODMaster(bsmoo) | 12.02.25추천 0
-
쓸만한 패킷스니퍼 [8]고기호빵(yachehobbang) | 12.02.25추천 0
-
cvs svn 뭘 많이 쓰지? [8]궁금(112.154) | 12.02.25추천 0
-
첫 개인 자작 탄막슈팅게임 만들었어요 ㅋ_ㅋ [8]Witch Doct..(tkdlajs) | 12.02.25추천 0
-
C fgets함수 질문점여 윤성우 열혈c [3]이힝(121.177) | 12.02.25추천 0
-
컴공학도의 꿈 [3]아햏(59.5) | 12.02.25추천 0
-
프로그래밍 쉽게배울려면 수학 어떤단원에대한 이해가 빠삭해야함? [3]●알콩이(qlffpqkffh) | 12.02.25추천 0
-
으 밤샛당 [7]코딩...?(sangro901) | 12.02.25추천 0
갤질하며 복습 하는 토익 영어 단어 테스트중 단어:qualified 뜻:자격 있는
[갤질하며 복습 하는 토익 영어 단어 테스트중] 단어:pension 뜻:연금
원래 COM에서는 HRESULT를 반환하는걸로 오류를 알려줌. 원래 C++익셉션 구조는 구현자 마음이고 정해진게 없기 때문에 언어 독립성을 위해 COM에서는 전통적인 리턴값으로 오류처리를 하는거고 그게 HRESULT형으로 리턴하는거임. 다만 HRESULT를 C++예외로 바꿔서 던져주는 레이러를 한겹 싸주면 더 C++ 프로그래머가 사용하기 편해지므로, VC++컴파일러에서 COM 타입라이브러리로 임포트할때 그렇게 래퍼클래스를 만들어주는것뿐임. P.S. IErrorInfo를 통한것도 마찬가지.
오타: 레이러->레이어. 아무튼 말이 좀 복잡해졌지만, COM에서는 예외를 던지지 않음. 예외를 던진다고 생각한건 아마도 VC++가 COM객체를 C++프로그래머가 친숙한 형태로 래퍼를 만들어준거같음.
아아..