Рассмотрим этот код:
try {
ISomeObject pObj(__uuidof(SomeClass));
ISomeObject pObj2(__uuidof(SomeOtherClass));
} catch ( _com_error& e ) {
// Log what failed
}
т.е. У меня есть блок кода, который создает мои объекты.
Иногда (неудачная установка) происходит сбой, потому что какой-то класс не был должным образом зарегистрирован.
(У меня нет особой проблемы, здесь достаточно общего обсуждения.)
Есть ли какой-нибудь способ, из пойманного исключения или иным образом, понять, какой класс провалился?
Я задумался сделать свою собственную обертку, которая хранит переменную типа gLastCreateAttemptUuid , но она кажется громоздкой.
Также предположим, что SomeClass, в свою очередь, пытается создать что-то еще, что не зарегистрировано. Можно ли тогда выяснить основную проблему?