如果我調用兩個可以拋出相同異常的方法,但異常的理由不同,應該如何處理?異常處理最佳實踐
我應該爲每個方法放置一個try catch塊,以便我可以用不同的方式處理這兩種異常,或者我可以如何獲取拋出異常的方法?
作爲例子: 我有這樣的方法
dir = Directory.CreateDirectory(Path.Combine(My.Settings.CalibrationExcelExportPath, dirName))
的方法,可以拋出IOexception
。
接下來我打電話給方法ExcelExport.ExportCalibrationAsync
創建一個TempFile,如果沒有更多的臨時名稱空閒,它也可以拋出IOexception
。
現在我想在差異中處理異常。向用戶提供正確信息的方式。
我試過exception.TargetSite
但我得到兩次Void WinIOError(Int..)
,所以我不能用它來區分。
這裏最好的做法是什麼