作者bency (班西)
看板C_Sharp
標題[問題] await 如何中斷
時間Mon Aug 6 12:27:10 2012
小弟目前在寫win8 app (c#)
在socket listen的部份有個問題
我的程式碼如下
while(ON_SERVICE)
{
await reader.LoadAsync(1);
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() => rece_byte = reader.ReadByte());
// Processing byte from socket
}
在使用者介面下有個按鈕是讓使用者切斷連線用
但從別的地方直接關閉socket會造成這邊出現system.exception如下
「類型 'System.Exception' 的未處理例外狀況發生於 mscorlib.dll
其他資訊: 因為執行緒結束或應用程式要求,所以已中止 I/O 操作。
(發生例外狀況於 HRESULT: 0x800703E3)」
呼叫堆疊中最上面一個是
mscorlib.dll!System.Runtime.ExceptionService.ExceptionDispatchInfo.Throw()
這是代表我應該處理Dispatch exception事件嗎?
那我該怎麼處理呢?
--
http://www.wretch.cc/blog/bency
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.151.2
1F:推 LaPass:兩年沒碰C#,C#都快變得讓我認不得了...... 08/06 14:51
2F:→ bbcust:await是4.5的 08/07 11:04
3F:→ bency:函式庫是看版本而不是看平台嗎? 08/07 20:19
4F:推 LaPass:C#跟JAVA這種跨平台的語言是看版本 08/07 22:26
5F:→ LaPass:我寫的時候才3.X而已.... 板號跳好快 08/07 22:27
6F:→ bency:後來直接處理exception就OK了 08/28 10:43