# Process Orchestration Exception Handling

**URL:** <https://forum.flowable.org/t/process-orchestration-exception-handling/758>\
**Category:** Flowable Engine\
**Created:** [July 21, 2017, 8:59pm UTC](https://forum.flowable.org/t/process-orchestration-exception-handling/758 "2017-07-21T20:59:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![matthetterich](https://avatars.discourse-cdn.com/v4/letter/m/53a042/32.png) [@matthetterich](https://forum.flowable.org/u/matthetterich)\
**Post date:** [July 21, 2017, 8:59pm UTC](https://forum.flowable.org/t/process-orchestration-exception-handling/758/1 "2017-07-21T20:59:22Z")

</div>

I’m considering using Flowable for a fairly major implementation. My biggest concern right now is that I don’t seem to be able to trap exception that may occur in the process orchestration and when an exception does occur, the process execution just seems to stop.

There does not seem to be a way to identify stopped executions or to restart them.

Is this true, or am I missing the documentation on how to handle this?

Matt

---

<div class="post-metadata">

**Author:** ![joram](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/joram/32/26_2.png) [@joram](https://forum.flowable.org/u/joram)\
**Post date:** [July 23, 2017, 8:35am UTC](https://forum.flowable.org/t/process-orchestration-exception-handling/758/2 "2017-07-23T08:35:41Z")

</div>

> [@matthetterich](#):
>
> when an exception does occur, the process execution just seems to stop.

No, the current database transaction is rolled back to the previous stable state. The exception is thrown from the API call, most likely as a FlowableException. This exception can (and should be) caught if you want to react on it.

What use case are you trying to solve and where do you see the behaviour you’re seeing?

If you want automatic retries, it’s also possible to cofigure a ‘retry interceptor’ (but a per use case treatment is better, cause otherwise anything will be simply retried, including things like sending emails and such).

---

<div class="post-metadata">

**Author:** ![matthetterich](https://avatars.discourse-cdn.com/v4/letter/m/53a042/32.png) [@matthetterich](https://forum.flowable.org/u/matthetterich)\
**Post date:** [July 23, 2017, 5:36pm UTC](https://forum.flowable.org/t/process-orchestration-exception-handling/758/3 "2017-07-23T17:36:48Z")

</div>

After more reading, I see that my task is being executed by the Async Executor and my job is ending up in the ACT\_RU\_DEADLETTER\_JOB table. This give me pretty much what I need. Now I just need to determine how to resubmit the job for execution. I’ll have a look at the API. I assume I somehow just need to move the entry back to the job table.

---

<div class="post-metadata">

**Author:** ![joram](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/joram/32/26_2.png) [@joram](https://forum.flowable.org/u/joram)\
**Post date:** [July 25, 2017, 7:49am UTC](https://forum.flowable.org/t/process-orchestration-exception-handling/758/4 "2017-07-25T07:49:47Z")

</div>

Correct: you’d need to use the managementService.moveDeadLetterJobToExecutableJob(jobId, retries) method to do that.

Also note that the job in the deadletter table should have an exception that indicates what went wrong.
