- 1. 简介
- 2. 开始
- 3. 配置
- 4. Flowable API
- 5. 集成 Spring
- 6. 部署
- 7. BPMN 2.0 介绍
- 8. BPMN 2.0 结构
- 9. 表单
- 10. JPA
- 11. 历史
- 12. 身份管理
- 13. Eclipse Designer
- 14. Flowable UI 应用
- 15. REST API
- 16. 集成 CDI
- 17. 集成 LDAP
- 18. 高级
- 19. 工具
4.2. 异常策略
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(…)
时抛出。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论