01.02.2008, 17:11 | #1 |
Участник
|
Ax3 KR2 COM: Получение человеческих сообщений об ошибках
Я работаю с ADSI при помощи COM.
В некоторых случаях возникает ошибка: Метод 'SetInfo' в COM-объекте класса '<неизвестно>' возвратил код ошибки 0x8007200A (<неизвестно>), который означает: <неизвестно>. Если обработать ошибку вот таким образом: X++: void setInfo() { COMError errorCom; ; try { object.SetInfo(); } catch (Exception::Error) { errorCom = object.error(); if (errorCom) throw error(strFmt("Ошибка %1 ('%2')", errorCom.number(), WinApi::formatMessage(errorCom.number()))); else throw Exception::Error; } } Ошибка становится человеческой: Ошибка -2147016694 ('Указанное значение или атрибут службы каталогов не существует.') Но при этом мы обязаны знать, какой объект зашибся. Я пробовал обработать эту штуку глобально, но вместо errorCom.number() использовать WinApi::GetLastError, но оказалось, что она возвращает 0 всегда в таки случаях. Как сделать так, чтобы
|
|
|
За это сообщение автора поблагодарили: axaLearner (1). |