我今天正在设计一个Activity,但我遇到了一个问题,即在TryCatch块的Catch中重新抛出异常不会执行与之关联的Finally。经过进一步调查,我发现了以下内容
如果无法保证执行,有人可以向我解释一下finally块在此活动中的用途吗?
我能看到的唯一情况是你是否有嵌套的try块。
答案 0 :(得分:5)
如果您按照该连接页面中的某些链接进行操作,则会显示this page,您可以在那里找到答案......要点是:
正常的WF功能如
try
{
Environment.FailFast("Game Over.");
}
finally
{
Console.WriteLine("Not Called");
}
解决方案是(从该页面引用steve danielson): 如果指定“取消”作为转义工作流根目录的未处理异常的行为,则应该提供所需的行为。我已经传递了这些反馈,并将确保更新文档以反映这一点。
即Workflowapplication.OnUnhandledException = UnhandledExceptionAction.Cancel
HTH