2012-05-23 55 views
3

我有一個WCF應用程序,有時會執行長時間運行的查詢。我在客戶端創建了可以理解套接字超時的代碼,並且稍後會採取措施重新裝入服務器以獲取答案。在發生TimeoutException(包括SocketException)之前,系統會引發大量第一次機會異常。過去,第一次機會的例外已經大大減緩了我的應用程序,直到我抓住並處理它們。第一次機會SocketException被拋出,但我的catch不起作用

我想擺脫這些第一次機會的異常,所以我創建了一個try-catch塊來處理SocketException,並打開VS2010中的異常並重新執行代碼。當我這樣做時,我看到調試器顯示出發生了SocketException,但我的catch塊從未輸入。 (見下文)

enter image description here

我發現了一些類似的職位,包括C# SocketException doesn't get caught,但沒有答案,我發現地址如何捕捉到異常,還是我甚至應該擔心。

所以我的問題是:

1)我應該擔心這些第一次機會異常?

2)如果是這樣,我該如何讓系統捕捉它們?

回答

2

第一次機會異常被拋出的異常已被捕獲。

換句話說,抓住第一次機會例外是不可能的。

你也不必擔心它們(通常)。

相關問題