我扩展了NLog以记录所有异常数据集合中的项目。因此,在我的数据访问代码中捕获SqlException时,我喜欢向Exception.Data字典中添加一些项目以提供更好的日志记录。我不总是想从catch中记录日志,而是让异常上升并稍后处理。因此,我会编写类似以下内容的代码:
Try
...
Catch exception As Exception
exception.Data.Add("SP", StoreProcedureNameCost)
exception.Data.Add("Connection", myConnection.ConnectionString)
Throw
End Try
如果只调用 Throw
而不是 Throw exception
,那么我的所有添加的 Data 项是否仍然存在?