WorkFlow设计篇Step.3—异常处理-WF4.0

简介:
开篇
         上一篇《WorkFlow设计篇Step.2—传参的用法-订单金额的处理(续)-WF4.0》,我们讲述了工作流的传入与传出参数的用法,其实还有其他的方式,例如通过Cod

eActivity的In与Out参数等等,后面我们会进行说明的,本篇我们就会开始讲述工作流中的异常处理活动的用法,如何在工作流中处理tryCatch异常。

摘要

WorkFlow是最近比较流行的一门技术,其实WF起源于20世纪70年代中期的办公化自动领域,自1993年8月,WFMC(工作流管理联盟)成立,1994年制定了一

系列的关于工作流的标准。进入21世纪工作流被越来越多的学者关注,该项技术越发走向成熟。当然我也是必须跟上时代的步伐,所以也加入工作流的大军,希望能

够跟上前人的脚步。当然也希望感兴趣的朋友,加入工作流的讨论群中来。具体群号:120661978。

目前,我们已经在AgileEAS.平台中陆续集成了,界面设计器+工作流的内容,当然工作流目前还不算太成熟,还不方便放出来,本文只是抛砖引玉,还希望

大家多多重视工作流的内容。

大纲

一、开篇

二、摘要

三、WF4.0的异常处理

异常处理活动

         异常处理是任何程序,都可能会发生的情况,那么我们在工作流中如何使用异常呢,下面我们就来看看如何使用工作流中提供的异常处理活动,包括我们有时

候想自定义异常处理的过程等,我们就来一一道来,如何处理工作流中的异常。

1、新建一个空白解决方案。

image_thumb1

2、将上篇《》的解决方案赋值到该解决方案的同级文件夹下。

image_thumb3

3、添加现有项目:

image_thumb5

4、选择项目文件:

image_thumb8

5、打开后,相应的文件就加载到当前的解决方案中,我们修改原来的switch语句内部的活动节点分支

a、添加一个自定义异常类“customException”:

namespace OrderProcess 

     public class CustomException : Exception 
    { 
         public CustomException() : base() 
         { 
         }

         public CustomException(string message) : base(message) 
         { 
         } 
    } 
}

b、设计相关的活动节点如下:

image

c、编译解决方案,这是我们新建的自定义异常类就可以马上派上用场了,将活动内的变量及相关的参数定义都定义完毕后如下:

image

d、我们来查看throw的属性定义:

image

f、我们接着来配置最外层的tryCatch的catch内的活动,先来设置catch的异常处理类型

image

g、将该类型设置为我们自定义的customException:

image

6、添加当异常发生时的输出信息活动WriteLine活动:

image

7、我们最后在Finally中添加WiteLine活动,记录完成标志:

image

8、其他的信息,不用修改了,直接运行后,查看效果吧。

image

9、我们来将上述的内容将异常的条件修改正确后执行,查看输出的结果:

image

10、F5运行后,输出到控制台的结果如下:

image

关于更多的应用和说明,我相信大家会在后续的设计流程篇中能够看到更多的应用,当然由于本人的水平有限,所以造成有些内容,写的不清楚或者

不明白之处,还请大家批评指出。

关于上篇的源码,请在上篇文章《WorkFlow设计篇Step.1—传参的用法-订单金额的计算-WF4.0》中下载

下篇预告

本篇主要是讲述了设计篇中的异常的用法,那么下篇,我们将会讲述工作流中的Rethrow的异常处理的活动的用法,还请大家提出不同的意见和建议。

image_thumb23





本文转自何戈洲博客园博客,原文链接:http://www.cnblogs.com/hegezhou_hot/archive/2011/06/14/2080829.html,如需转载请自行联系原作者

目录
相关文章
|
Web App开发 XML 数据可视化
MathML详解
MathML(数学标记语言)是一种基于XML的语言,用于在Web页面中结构化地展示数学公式和符号。它通过内容模型和表现模型描述数学表达式的语义和排版,广泛应用于教育、科学出版等领域,并支持屏幕阅读器提升可访问性。尽管现代浏览器如Firefox对其支持良好,但在某些浏览器中可能需额外插件才能正确渲染。MathML的优点包括结构化表示和高可读性,但也存在一定的学习曲线和兼容性问题。
|
缓存
Flutter Image从网络加载图片刷新、强制重新渲染
Flutter Image从网络加载图片刷新、强制重新渲染
436 1
|
DataWorks NoSQL MongoDB
DataWorks产品使用合集之在同步任务中遇到脏数据时,是否会将脏数据插入到数据表中
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
数据安全/隐私保护 Windows
WINDOWS系统:如何远程桌面连接阿里云服务器?
WINDOWS系统:如何远程桌面连接阿里云服务器?
19542 2
WINDOWS系统:如何远程桌面连接阿里云服务器?
|
API Java 数据库连接
从平凡到卓越:Hibernate Criteria API 让你的数据库查询瞬间高大上,彻底告别复杂SQL!
【8月更文挑战第31天】构建复杂查询是数据库应用开发中的常见需求。Hibernate 的 Criteria API 以其强大和灵活的特点,允许开发者以面向对象的方式构建查询逻辑,同时具备 SQL 的表达力。本文将介绍 Criteria API 的基本用法并通过示例展示其实际应用。此 API 通过 API 构建查询条件而非直接编写查询语句,提高了代码的可读性和安全性。无论是简单的条件过滤还是复杂的分页和连接查询,Criteria API 均能胜任,有助于提升开发效率和应用的健壮性。
399 0
|
XML Java API
List与String相互转化的方法有哪些
摘要:本文概述了Java中List转换为String及反之的多种策略。使用`String.join()`可简洁地连接List元素;`StringBuilder`提供灵活控制;Java 8 Stream API收集器简化操作;Apache Commons Lang3的`StringUtils.join()`和Guava的`Joiner.on()`支持外部库的高效转换。
521 2
|
JSON 前端开发 JavaScript
JSON parse error: Cannot deserialize value of type `java.lang.Integer` from Boolean value
这篇文章讨论了前端Vue应用向后端Spring Boot服务传输数据时发生的类型不匹配问题,即后端期望接收的字段类型为`int`,而前端实际传输的类型为`Boolean`,导致无法反序列化的问题,并提供了问题的诊断和解决方案。
JSON parse error: Cannot deserialize value of type `java.lang.Integer` from Boolean value
|
安全 Linux 网络安全
登录神器:Hydra 保姆级教程
登录神器:Hydra 保姆级教程
聊聊Spring中两种创建Bean的方式:BeanDefinition.setInstanceSupplier() 和 FactoryBean
聊聊Spring中两种创建Bean的方式:BeanDefinition.setInstanceSupplier() 和 FactoryBean
|
Java 测试技术 Maven
maven的package、install、deploy命令
maven的package、install、deploy命令
617 0