【发布时间】:2018-01-03 01:41:05
【问题描述】:
如果我调用了两个可以互相抛出相同异常的方法,但是异常的根据不同,我应该如何处理呢?
我是否应该在每个方法周围放置一个 try catch 块,以便我可以以不同的方式处理这两个异常,或者如何获取引发异常的方法?
例如: 我有这个方法
dir = Directory.CreateDirectory(Path.Combine(My.Settings.CalibrationExcelExportPath, dirName))
该方法可以抛出一个IOexception。
接下来我调用一个方法 ExcelExport.ExportCalibrationAsync 创建一个 TempFile,它也可以抛出一个 IOexception,例如,如果没有更多的临时名称可用。
现在我想在差异中处理异常。向用户提供正确信息的方法。
我试过exception.TargetSite,但我两次都得到Void WinIOError(Int..),所以我不能用它来区分。
这里的最佳做法是什么
【问题讨论】: