c# - 在语句执行期间测试堆栈展开

标签 c# exception

在 C# 中有没有一种方法可以测试语句的执行是否发生在异常堆栈展开期间?

谢谢, 马塞洛。

编辑: 我的意思是这样的:

using (NewDbTransaction()) { 
  //do some DB stuff here
} <-- here Dispose() of IDisposable is called 

void DbTransactionWrapper.Dispose() { 
  if (InException()) //is this possible???
    Rollback();
  else
    Commit();
}

最佳答案

简单地捕获并重新抛出异常。

编辑:或者您的意思是“我如何检测 finally block 中的异常”?在那种情况下,您可以只在 catch block 中设置一个标志并在 finally block 中读取它。

关于c# - 在语句执行期间测试堆栈展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4041133/

相关文章:

c# - ASP.NET Core 路由在 VS IIS Express 中有效,但在 IIS 10 中无效

c# - UWP-x :Bind Mode=TwoWay throws errors without converter

c# - View MVC C# 中的格式异常

python - 在 Python 中处理异常的正确方法?

c# - 如何在事件中心触发Azure函数中获取PartitionId?

c# - 传递参数时部分 View 不显示

c# - 跟踪基类中的实例化

java - GRPC Java 登录测试

java - PeerUnavailableException 使用 JAIN SIP API 和 NIST 实现

java - rawsql 中的关系运算符无效,相同的语句在 sqldeveloper 中有效