考慮以下代碼:「班級未註冊」哪個班級?
try {
ISomeObject pObj(__uuidof(SomeClass));
ISomeObject pObj2(__uuidof(SomeOtherClass));
} catch (_com_error& e) {
// Log what failed
}
即我有一塊代碼讓我的對象實例化。 有時(壞的安裝)會失敗,因爲某些類未正確註冊。 (我沒有特別的問題,而是一般的討論。)
是否有某種方法可以從被捕獲的異常或其他方面知道哪些類失敗? A已經考慮製作一個我自己的包裝,它存儲一個像gLastCreateAttemptUuid這樣的變量,但它感覺很麻煩。
此外,假設SomeClass的又嘗試別的實例化的東西,這是沒有登記。那麼能找出潛在的問題嗎?
該_com_error被抓的事實意味着OP沒有使用ATL,而是使用了「內置的COM支持」(_com_ptr_t),如果我沒有記錯的權利。 – 2009-06-02 13:05:47