赵走x博客
网站访问量:151416
首页
书籍
软件
工具
古诗词
搜索
登录
28、API变量
27、查询API
26、API异常策略
25、 流程引擎API与服务
24、事件处理器
23、映射诊断上下文
22、日志
21、配置部署缓存
20、配置在表达式与脚本中可用的bean
19、配置异步历史
18、配置历史
17、作业执行器
16、数据库与表
15、支持的数据库
14、配置JNDI数据源
13、配置数据库
12、ProcessEngineConfiguration bean
11、创建ProcessEngine
10、开始使用Flowable REST API
9、使用历史数据
8、实现JavaDelegate
7、查询与完成任务
6、另一个话题:事务
5、启动流程实例
4、部署流程定义
3、构建命令行程序
2、Flowable是什么?
1、简介
26、API异常策略
资源编号:551150
热度:109
26、Flowable BPMN 用户手册 (v 6.3.0):API异常策略
Flowable的异常基类是org.flowable.engine.FlowableException,这是一个非受检异常(unchecked exception)。在任何API操作时都可能会抛出这个异常,javadoc提供了每个方法可能抛出的异常。例如,从TaskService中摘录: ``` /** * 当任务成功执行时调用。 * @param taskId 需要完成的任务id,不能为null。 * @throws FlowableObjectNotFoundException 若给定id找不到任务。 */ void complete(String taskId); ``` 在上例中,如果所用的id找不到任务,就会抛出异常。并且,由于javadoc中明确要求taskId不能为null,因此如果传递了null值,会抛出FlowableIllegalArgumentException异常。 尽管我们想避免过大的异常层次结构,但在特定情况下仍然会抛出下述异常子类。所有流程执行与API调用中发生的错误,如果不符合下面列出的异常,会统一抛出FlowableExceptions。 - FlowableWrongDbException: 当Flowable引擎检测到数据库表结构版本与引擎版本不匹配时抛出。 - FlowableOptimisticLockingException: 当对同一数据实体的并发访问导致数据存储发生乐观锁异常时抛出。 - FlowableClassLoadingException: 当需要载入的类(如JavaDelegate, TaskListener, …)无法找到,或载入发生错误时抛出。 - FlowableObjectNotFoundException: 当请求或要操作的对象不存在时抛出。 - FlowableIllegalArgumentException: 当调用Flowable API时使用了不合法的参数时抛出。可能是引擎配置中的不合法值,或者是API调用传递的不合法参数,也可能是流程定义中的不合法值。 - FlowableTaskAlreadyClaimedException: 当对已被认领的任务调用taskService.claim(…)时抛出。