2010-07-29 86 views
2

我有一些調用COM自動化對象的方法的F#代碼。有時該COM對象引發異常。F中捕獲COM異常#

我試圖包裹在一個嘗試的COM對象的調用...用塊:

 
    try 
    do some COM stuff 
    with _ -> 
    Printf.printf "got an exn\r\n" 

但異常處理代碼不叫所有的應用程序只是死了。

我在控制檯上看到的消息通常是:

 
The message filter indicated that the application is busy. 
(Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER)) 

怎樣可以捕獲的COM例外呢?

回答

1

嗯,我會認爲這會工作......你是從STA(UI)線程調用?你有一個簡單的repro情況分享(你有什麼 - Visual Studio自動化或什麼)?它聞起來幾乎像調用正在編組到另一個後臺線程,並且該線程有沒有處理程序的異常。

0

對不起,我的錯。

這是一個不同的COM調用導致的錯誤,畢竟,一個不同的處理器捕獲錯誤。

因此,請嘗試...做這項工作。