3. Implementation/COM & ActiveX

MFC Automation 에서 예외 정보 던지기

SSKK 2008. 10. 10. 17:03

MFC Automation 에서 예외와 함께 에러 정보를 던지고자 하는 경우 간단하게 아래의 문장을 사용하면 된다.

 void CErroInfoTestDlgAutoProxy::Test(void)
{
 AFX_MANAGE_STATE(AfxGetAppModuleState());

 // TODO: 여기에 디스패치 처리기를 추가합니다

 AfxThrowOleDispatchException(1001, "Type Mismatch in Parameter. Pass a string array by reference");

}


VB에서 다음과 같이 사용하면 에러 정보를 받을 수 있음

 Sub test()
    On Error Resume Next
    Dim a As Object
   
    Set a = CreateObject("ErroInfoTest.Application")
    a.test
    If Err Then
        MsgBox Err.Description
    End If
End Sub

급한대로 방법만 생각함. CException을 상속하여 할수도 있을것임.

중요한건 과연 예외를 던져야만 하는가? 에 대한 신중한 판단을 내리는게 우선!