终止处理程序用于控制正在运行的范围的终止。如果某个运行的范围或包含该范围的流程出现错误,则会终止该范围。
如果某个范围或流程内抛出错误,则会运行与该范围或流程关联的错误处理程序,但在此之前,将终止出现错误的范围或流程内所有运行的活动。如果出现错误的范围或流程中包含的任何范围仍在运行,则也会将这些范围终止。终止范围表示终止其内部的活动,并执行与该范围关联的终止处理程序。
请注意,仅当范围正常运行、正在运行其补偿处理程序或终止处理程序时,才能终止范围。无法终止已完成的范围以及出现错误或正在运行其错误处理程序的范围。
终止处理程序是一个容器,其中包含在终止范围时执行的活动。可以为每个范围添加一个终止处理程序。
如果范围的终止处理程序内出现错误,该错误并不会传播到包含它的范围。
将终止处理程序添加到 Scope 或 Process 元素中: