坚持学习WF(24):WF中的异常处理

  • 时间:
  • 浏览:3
  • 来源:幸运飞艇APP下载_幸运飞艇APP官方

---现在开始英文英文执行第一一俩个工作流--- 

工作流终止:DivideByZeroError 

---第一一俩个工作流执行现在开始英文英文---

2.亲戚亲戚朋友在faultHandlersActivity1中拖入一一俩个FaultHandlerActivity活动,将亲戚亲戚朋友的FaultType属性分别设置为System.DivideByZeroException和System.ArithmeticException,这里有已经 要注意那就是 已经 个活动的左右次序这麼反了,除理DivideByZeroException一定要在左边,这就像亲戚亲戚朋友C#中的Catch一样先除理特定的异常,在除理一般的异常。在FaultHandlerActivity的中亲戚亲戚朋友放亲戚亲戚朋友当时人的除理异常代码,如下:

---现在开始英文英文执行第俩个工作流--- 

除理算术异常: 算术异常 

第俩个CodeActivity执行了 

---第俩个工作流执行现在开始英文英文--- 

请按任意键继续. . .

[置顶]坚持学习WF文章索引

对于C#线程中抛出的异常亲戚亲戚朋友还里能 使用try-catch来捕获并除理。在WF中的对异常的除理和C#中也比较这类,不过有已经 不同,主要有以下几点:

使用FaultHandlerActivity捕获异常

1. WF中一一俩个未除理的异常仅仅会让当前的工作流实例终止而不需要因为整个应用线程终止,已经 会触发WorkflowRuntime的WorkflowTerminated事件。 

2. WF中的异常除理是异步的,就是WF还里能 将未除理的异常装入 内部管理队列中等待歌曲除理。 

3. WF中的异常还里能 使用代码措施除理,也还里能 在WF模型中除理。亲戚亲戚朋友使用FaultHandlerActivity活动,该活动就像C#中的catch的话一样,每个FaultHandlerActivity活动对应一一俩个异常类型,该活动为复合活动,亲戚亲戚朋友还里能 加带子活动来编写当时人的逻辑除理线程.

---现在开始英文英文执行第俩个工作流--- 

工作流终止:ArithmeticError 

---第俩个工作流执行现在开始英文英文--- 

请按任意键继续. . .

已经 在一一俩个工作流中处于异常,他会先检查自身有这麼捕获异常,如有这麼会检查他的父活动有这麼捕获,已经 直到工作流的根活动都这麼捕获异常,这麼整个工作流就终止了,这都在引发WorkflowRuntime的WorkflowTerminated事件。

1.亲戚亲戚朋友下面举例来说明,首先亲戚亲戚朋友建立一一俩个顺序工作流控制台项目CaryExceptionDemo,新建一一俩个顺序型工作流ExWorkflow,亲戚亲戚朋友放一一俩个CodeActivity.在CodeActivity1中亲戚亲戚朋友根据workflow传入的参数抛出一一俩个异常。具体代码如下:

---现在开始英文英文执行第一一俩个工作流--- 

除理除0异常: 除0异常 

---第一一俩个工作流执行现在开始英文英文---

从结果中亲戚亲戚朋友还里能 CodeActivity2活动执行了。哪几个是WF中关于异常除理的已经 知识。

1.亲戚亲戚朋友下面捕获并除理CodeActivity1抛出的一一俩个异常,亲戚亲戚朋友在工作流的错误除理试图中使用FaultHandlerActivity活动来捕获异常,如下图所示:

未除理的异常

亲戚亲戚朋友从顶端的结果中发现工作流中CodeActivity2依然这麼执行,这主就是 已经 当异常处于的之都在自动寻找大约的FaultHandlerActivity来除理,已经 亲戚亲戚朋友在工作流级别捕获的异常自然CodeActivity2就这麼执行,不何如已经 这都在 亲戚亲戚朋友要我的结果,何如来达到亲戚亲戚朋友的目的呢,确实很简单,亲戚亲戚朋友让CodeActivity1在一一俩个容器中执行,亲戚亲戚朋友使用该容器的错误除理试图来捕获异常并除理,在WF中这麼实现的Activity组件,才有FaultHandlersActivity异常捕获容器。SequenceActivity就还里能 实现,工作流设计如下图:

在活动中捕获异常

---现在开始英文英文执行第俩个工作流--- 

除理算术异常: 算术异常 

---第俩个工作流执行现在开始英文英文--- 

请按任意键继续. . .

在sequenceActivity1的错误除理视图中亲戚亲戚朋友只这麼将原本装入 工作流错误除理视图中的一一俩个FaultHandlerActivity剪切过来就还里能 了。现在亲戚亲戚朋友运行线程得到结果如下:

运行该工作流得到如下结果:

本文转自生鱼片博客园博客,原文链接:http://www.cnblogs.com/carysun/archive/308/10/18/WFException.html,如需转载请自行联系原作者

---现在开始英文英文执行第一一俩个工作流--- 

除理除0异常: 除0异常 

第俩个CodeActivity执行了 

---第一一俩个工作流执行现在开始英文英文---