Events

Error Boundary Event

Attached to an activity's border, catches an error raised inside it and diverts the flow; always interrupting — the activity is aborted. Double circle with a lightning icon.

The Error Boundary Event is BPMN's try/catch: it supervises one activity (or sub-process) and, if a matching error occurs inside, aborts it and routes the token down the exception path. Error boundaries are always interrupting — a failed activity cannot keep running.

When to use and avoid

When to use

  • To give a specific activity an explicit failure path (payment declined, integration failed).

  • On sub-processes, to catch Error End Events thrown inside them.

  • To keep the happy path linear while failures branch off visibly.

When NOT to use

  • For non-fatal warnings — use Escalation (which can be non-interrupting).

  • For scope-wide handling of the same error from many activities — an Error Event Sub-Process centralizes it.

  • To model business rejections that are normal outcomes — prefer an explicit gateway; errors are for abnormal terminations.

Business example

Handling a declined payment

Diagrama BPMN: Handling a declined payment
Handling a declined payment

Open this example in the HEFLO process editor and explore the diagram from the inside.

Open in the HEFLO editor →

Step by step

  1. Charge credit card runs normally toward “Payment settled”.
  2. If the gateway declines, the task throws an error; the Error Boundary Event (highlighted) catches it and aborts the task.
  3. The exception path Offer alternative payment takes over and ends the flow separately.

Differences

Error Boundary vs Escalation Boundary

Error is fatal and always interrupts the activity. Escalation signals severity and is usually caught without interrupting. Abort-and-divert → Error; alert-and-continue → Escalation.

FAQ

Can an error boundary be non-interrupting?

No — the spec forbids it. An activity that erred cannot continue; the boundary always cancels it.

What errors does it catch?

A specific error code (if referenced) or any error from the attached activity (if left generic). Sub-process Error End Events are the classic source.

Related elements