gpt4 book ai didi

.net - 将数据项添加到异常但不调用 throw ex

转载 作者:行者123 更新时间:2023-12-01 11:49:21 24 4
gpt4 key购买 nike

我扩展了 NLog 以记录 Exception.Data 集合中的所有项目。因此,当我捕获 SqlException 时,在我的数据访问代码中,我喜欢向 Exception.Data 字典添加一些项目以提供更好的日志记录。我并不总是想从捕获中记录日志,而是让异常冒泡并在以后处理。所以我写了这样的东西:

Try
...
Catch exception As Exception
exception.Data.Add("SP", StoreProcedureNameCost)
exception.Data.Add("Connection", myConnection.ConnectionString)
Throw
End Try

只调用 Throw 而不是 Throw exception 是否仍然有我添加的所有数据项?

最佳答案

是的,它将保留对数据属性所做的更改。 throwthrow ex 之间的根本区别是堆栈跟踪不会随着调用 throw 而改变,而它会随着 throw ex 而改变

关于.net - 将数据项添加到异常但不调用 throw ex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12980283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com