Здравствуйте AlexKn, Вы писали:
AK>STDMETHODIMP CTest::Init()
AK>{
AK> // TODO: Add your implementation code here
AK> Error("Error out");
AK> return E_FAIL;
AK>}
AK>Данный метод вызывает exception, когда я пытаюсь его вызвать из клиента
AK> CoInitialize(NULL);
AK> ITestPtr m_ITest;
AK> if(FAILED(m_ITest.CreateInstance(__uuidof(TestObj))))
AK> return -1;
AK> if(FAILED(m_ITest->Init()))
AK> return -1;
AK>Отладчик показывает, что exception вызывает строка
А что тебя смущает? по-моему все нормально, ты из метода возвращаешь E_FAIL
и используешь Ptr указатели, а они при получении ошибки генерят исключение.
Перехватывай исключение try, catch и впред:
...
try
{
m_ITest->Init();
}
catch(_com_error &e)
{
// если мы попали сюда, то была ошибка у "e" можешь запросить дополнителную информацию
}
...