async void錯誤
很久以前就有聽說
async 方法不要回傳void
應該要回傳Task
直到前幾天才踩到這個坑
起因是前幾天開發新的API
啟動偵錯模式時
遇到Exception時
竟然會離開偵錯模式
一開始以為是誤觸Visual Studio的設定
但後來想想不對
就算發生Exception
全域的Exception Filter應該也要攔截
而不是中斷整個應用程式
看了一下才發現是
原本同步的方法
改成非同步後
回傳的值沒有從 void 改成 Task
呼叫時也沒有加 await
導致例外無法捕捉
紀錄一下
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Frank's Talk!