Flowable-结束事件-错误结束事件

目录

      • 定义
      • 图形标记
      • XML内容
      • 界面操作
      • 使用示例
      • 视频教程

定义

错误结束事件会在流程到达错误结束事件的时候抛出错误,并结束当前的流程分支。异常结束
事件是有抛出结果的,它需要定义抛出错误码,如果找到了异常开始事件错误码,就会触发异常开
始事件。
错误结束事件只适用于子流程结束抛出错误事件,由父流程的错误边界事件捕获。

图形标记

错误结束事件是一个标准的结束事件(粗边圆圈),内部有错误图标。错误图标是全黑的,表
示触发语法,如图所示

在这里插入图片描述

XML内容

错误结束事件,表示为结束事件,加上 errorEventDefinition 子元素,errorRef 属性可以引用在
流程外定义的 error 元素:

 <error id="theError" /><process id="errorEndEventProcess"><endEvent id="myErrorEndEvent"><errorEventDefinition errorRef="theError" /></endEvent></process>

在以上 xml 代码片段中,首先定义了一个 id 属性值为 theError 的错误,然后在结束事件中使
用 errorEventDefinition 元素引用该 error,从而构成了一个错误结束事件。

界面操作

在这里插入图片描述

使用示例

错误结束事件一般和错误边界事件(Intermediate Boundary Error Event)搭配一起使用,错误
结束事件触发错误边界事件,错误边界事件捕获错误结束事件抛出的错误信息,通常在嵌套子流程
和调用子流程中使用。如果找不到匹配的错误边界事件,将会抛出异常。
用户启动流程,下单之后进入付款子流程,如果付款成功,子流程到达空结束事件从而子流程
结束,进入后续的发货节点;如果付款失败,到达错误结束事件,抛出错误并结束子流程,子流程
上的错误边界事件捕获到错误信息,重新启动付款子流程。对应的流程图如图所示:

在这里插入图片描述

<error id="payError" errorCode="payErrorCode" /><process id="ErrorEndEventProcess" name="错误结束事件" isExecutable="true"><userTask id="a9485eda61d534bd5a6bf059c359637cf" name="下单"><extensionElements><flowable:formData /><flowable:assigneeType>static</flowable:assigneeType></extensionElements></userTask><sequenceFlow id="aaeb88fef071f4fa88aea70b5ce4cefd5" sourceRef="ac0a8178a92164c37b8be22cc6023b8aa" targetRef="a9485eda61d534bd5a6bf059c359637cf" /><sequenceFlow id="Flow_01p5dv8" sourceRef="a9485eda61d534bd5a6bf059c359637cf" targetRef="Activity_0vse4d1" /><subProcess id="Activity_0vse4d1" name="付款子流程"><extensionElements><flowable:assigneeType>static</flowable:assigneeType><flowable:formData /></extensionElements><startEvent id="Event_1u7pw9m"><extensionElements><flowable:formData /></extensionElements></startEvent><userTask id="Activity_08d9gg7" name="付款"><extensionElements><flowable:assigneeType>static</flowable:assigneeType><flowable:formData /></extensionElements></userTask><sequenceFlow id="Flow_07eodwu" sourceRef="Event_1u7pw9m" targetRef="Activity_08d9gg7" /><exclusiveGateway id="Gateway_1e8ts1f" /><sequenceFlow id="Flow_0bzye5t" sourceRef="Activity_08d9gg7" targetRef="Gateway_1e8ts1f" /><endEvent id="Event_1v4gxpv" /><sequenceFlow id="Flow_0on37gt" name="支付成功" sourceRef="Gateway_1e8ts1f" targetRef="Event_1v4gxpv"><conditionExpression xsi:type="tFormalExpression">${payResult == true}</conditionExpression></sequenceFlow><sequenceFlow id="Flow_0dqc8u3" name="支付失败" sourceRef="Gateway_1e8ts1f" targetRef="Event_1w3dv09"><conditionExpression xsi:type="tFormalExpression">${payResult == false}</conditionExpression></sequenceFlow><endEvent id="Event_1w3dv09"><errorEventDefinition errorRef="payError" flowable:errorVariableLocalScope="false" flowable:errorVariableTransient="false" /></endEvent></subProcess><userTask id="Activity_062xb68" name="发货"><extensionElements><flowable:assigneeType>static</flowable:assigneeType><flowable:formData /></extensionElements></userTask><sequenceFlow id="Flow_0spxrt9" sourceRef="Activity_0vse4d1" targetRef="Activity_062xb68" /><userTask id="Activity_067yadn" name="收货" /><sequenceFlow id="Flow_0y2xpmk" sourceRef="Activity_062xb68" targetRef="Activity_067yadn" /><endEvent id="Event_0b3nzse" /><sequenceFlow id="Flow_1aiwj8e" sourceRef="Activity_067yadn" targetRef="Event_0b3nzse" /><boundaryEvent id="Event_00bbo9x" attachedToRef="Activity_0vse4d1"><errorEventDefinition errorRef="payError" flowable:errorVariableLocalScope="false" flowable:errorVariableTransient="false" /></boundaryEvent><sequenceFlow id="Flow_14f59h2" name="重新付款" sourceRef="Event_00bbo9x" targetRef="Activity_0vse4d1" /><startEvent id="ac0a8178a92164c37b8be22cc6023b8aa"><extensionElements><flowable:formData /></extensionElements></startEvent></process>

视频教程

错误结束事件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/82075.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux中安装Node

安装 先从 官方网站 下载安装包&#xff0c;有时 node 版本太新会导致失败&#xff0c;详见下方的常见问题第2点 cd /home // 创建目录&#xff0c;将下载好的 node 安装包上传到此目录 mkdir Download mkdir /usr/local/lib/node解压 // 解压&#xff0c;前面是文件当前路径…

在excel调用SAP函数执行SAP数据查找或提交

1、下载插件 2、安装插件 3、执行函数 3.1 第一步 通过SAPRegister连接SAP服务器 var reg SAPRegister("10.10.14.15", "00", "mes", "AQ123456", "800") 需要改为实际的连接信息 "10.10.14.15" 为SAP服务器I…

IDEA 指定spring.profiles.active本地启动

spring.profiles.activedev spring.profiles.activepro

20230809在WIN10下使用python3将DOCX文件转换为TXT文件

20230809在WIN10下使用python3将DOCX文件转换为TXT文件 2023/8/9 11:38 python docx txt https://blog.51cto.com/u_16175446/6620474 如何实现Python读取word内容转为TXT的具体操作步骤 如何实现Python读取word内容转为TXT的具体操作步骤 原创 mob649e81576de12023-07-04 14:0…

为什么会觉得CSS比JavaScript难?

前言 是的&#xff0c;就像你问题中描述的&#xff0c;“用起来没有底&#xff0c;有填不完的坑”&#xff0c;这大概就是css难的地方&#xff0c;因为css关乎的是页面整体的一个ui设计&#xff0c;暂且不说本身关于css的内容是非常繁杂的&#xff0c;主要是页面的设计是考验创…

flutter开发实战-实现首页分类目录入口切换功能

。 在开发中经常遇到首页的分类入口&#xff0c;如美团的美食团购、打车等入口&#xff0c;左右切换还可以分页更多展示。 一、使用flutter_swiper_null_safety 在pubspec.yaml引入 # 轮播图flutter_swiper_null_safety: ^1.0.2二、实现swiper分页代码 由于我这里按照一页8…

Element的el-select下拉框多选添加全选功能

先看效果图 全选&#xff1a; 没有选中时&#xff1a; 选中部分&#xff1a; 作者项目使用的是vue3写法&#xff0c;如果是vue2的自己转换一下 html代码&#xff1a; js代码&#xff1a; 拓展 另一种方法&#xff0c;如果不想使用勾选框&#xff0c;可以试试下面的方…

PPG心率血氧检测健康型沙发方案

《中国心血管健康与疾病报告2021》数据显示&#xff0c;我国心血管病患病人数已达 3.3 亿。目前&#xff0c;心脑血管病 死亡占城乡居民总死亡原因的首位&#xff0c;农村为46.7%&#xff0c;城市为44%。老年人是心脑血管病的主要发病体&#xff0c;老年 人患心脑血管病的几率较…

2023牛客暑期多校训练营7-c-Beautiful Sequence

思路&#xff1a; &#xff0c;则有&#xff0c;也就是说只要知道A1就可以求任意A。由于A是升序排列&#xff0c;所以对于任意&#xff0c;二进制所包含1的最高位第k位来说&#xff0c;表明与第k位相反&#xff0c;要大一些&#xff0c;所以它的第k位为1&#xff0c;的第k位为…

问题解决和批判性思维是软件工程的重要核心

软件工程的重心在于问题解决和批判性思维&#xff08;合理设计和架构降低复杂度&#xff09;&#xff0c;而非仅局限于编程。 许多人误以为软件工程就只是编程&#xff0c;即用编程语言编写指令&#xff0c;让计算机按照这些指令行事。但实际上&#xff0c;软件工程的内涵远超…

85. 最大矩形

题目描述 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵&#xff0c;找出只包含 1 的最大矩形&#xff0c;并返回其面积。 示例 1&#xff1a; 输入&#xff1a;matrix [["1","0","1","0","0"],["1…

HBase Shell 操作

1、基本操作 1.1、进入HBase客户端命令行 前提是先启动hadoop集群和zookeeper集群。 bin/hbase shell 1.2、查看帮助命令 helphelp 查看指定命令的语法规则 查看 list_namespace 的用法&#xff08;‘记得加单引号’&#xff09; help list_namespace 2、namespace 我们…

python文件操作

文章目录 一 文件的编码认识二 python文件操作2.1 open()打开函数2.2 mode常用的访问模式2.3 open函数的文件对象2.4 文件读操作2.5 练习案例&#xff1a;单词计数 三 文件的写入四 操作综合案例4.1 需求4.2 实现思路4.3 参考代码1.04.4 参考代码2.0 一 文件的编码认识 文件编码…

分享windwosServer2012R--ISO镜像下载地址(含激活教程)

windowsServer2012R----急速网盘下载地址&#xff1a;点击下载 提取码&#xff1a;888999 激活下载&#xff1a;点击下载 提取码&#xff1a;888999

ElasticSearch 7.4学习记录(基础概念和基础操作)

若你之前从未了解过ES&#xff0c;本文将由浅入深的一步步带你理解ES&#xff0c;简单使用ES。作者本人就是此状态&#xff0c;通过学习和梳理&#xff0c;产出本文&#xff0c;已对ES有个全面的了解和想法&#xff0c;不仅将知识点梳理&#xff0c;也涉及到自己的理解&#xf…

Java事件监听机制

这里写目录标题 先进行专栏介绍再插一句 开始喽事件监听机制分析观察者模式观察者模式由以下几个角色组成&#xff1a;观察者模式的工作流程如下&#xff1a;观察者模式的优点包括&#xff1a;观察者模式适用于以下场景&#xff1a;总结 事件监听机制的工作流程如下&#xff1a…

喆啡酒店十周年丨啡越时间限,ALL BY 10VE!

啡越时光热爱为伴 十年前&#xff0c;秉持对咖啡馆文化及复古风格的喜爱&#xff0c;喆啡酒店创造全新的Coffetel品类&#xff0c;将充满「温暖」「愉悦」「咖啡香」的格调体验带给消费者&#xff0c;成为无数人「旅途中的啡凡存在」。 十年间&#xff0c;喆啡酒店以热爱化为…

【深度学习】SMILEtrack: SiMIlarity LEarning for Multiple Object Tracking,论文

论文&#xff1a;https://arxiv.org/abs/2211.08824 代码&#xff1a;https://github.com/WWangYuHsiang/SMILEtrack 文章目录 AbstractIntroductionRelated WorkTracking-by-DetectionDetection methodData association method Tracking-by-Attention Methodology架构概述外观…

【vue3】基础知识点-setup语法糖

学习vue3&#xff0c;都会从基础知识点学起。了解setup函数&#xff0c;ref&#xff0c;recative&#xff0c;watch、comptued、pinia等如何使用 今天说vue3组合式api&#xff0c;setup函数 在学习过程中一开始接触到的是这样的&#xff0c;定义数据且都要通过return返回 <…

[保研/考研机试] KY102 计算表达式 上海交通大学复试上机题 C++实现

描述 对于一个不存在括号的表达式进行计算 输入描述&#xff1a; 存在多组数据&#xff0c;每组数据一行&#xff0c;表达式不存在空格 输出描述&#xff1a; 输出结果 示例1 输入&#xff1a; 6/233*4输出&#xff1a; 18思路&#xff1a; ①设立运算符和运算数两个…