2012-05-06 24 views
2

我有一個追趕引起的斷開異常下面的代碼被抓:Visual Studio的休息呼籲而不是在抓()

try 
{ 
    DataReaderLoadOperation op = dataReader.LoadAsync((uint)readBuffer.MaxLength()); 
    await op; // <-- Debugger show COMException here 
    ReceiveCallback(op, op.Status); 
} 
catch (COMException e) 
{ 
    Logger.Info("{0} disconnected. (Waiting)", this); 
    Logger.Debug("{0} exception = {1}", this, e); 
    OnDisconnected(); 
} 

爲什麼我的代碼不能抓住它?以下是異常轉儲:

System.Runtime.InteropServices.COMException occurred 
    HResult=-2147014842 
    Message=An existing connection was forcibly closed by the remote host. (Exception from HRESULT: 0x80072746) 
    Source=mscorlib 
    ErrorCode=-2147014842 
    StackTrace: 
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
     at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
     at Crystal.IO.Network.SocketClient.<WaitForIncoming>d__4.MoveNext() in d:\Crystal\library\IO\Network\SocketClient.cs:line 479 
    InnerException: 
+1

您確定您的調試器未設置爲在第一次機會異常時中斷嗎? – GETah

+0

我看了一下我的異常設置,它被設置爲打破所有異常。我修正了這個問題,現在它似乎正常工作。謝謝。 –

+0

很高興它的工作。爲了將來的參考,我將我的評論移到下面回答。如果它有助於解決您的問題,請將其標記爲答案。感謝:) – GETah

回答

2

更改您的調試器設置,以便在第一次機會異常時不中斷。

+0

你在哪裏做這個? – Carlo

+0

@Carlo檢查此鏈接http://blogs.msdn.com/b/davidklinems/archive/2005/07/19/440632.aspx – GETah