Control / error ยท All operations
Handle errors and retries
Error handling, retry, abort, dead-letter routing.
Status
- In arcform
A feature, not a step
It lives in how a Protocol runs. src/manifest.rs in arcform at fc62d6f
- Shape of the result
- not a data operation
- Level
- not a step
Variants
- Stop the run with an error
Fail the run on purpose, with a message, when a condition or row threshold is met.
- Send failed rows aside
Route the rows that failed a step to a separate output or dead-letter file while the rest carry on.
Return a fault to a caller
Send a failure back as a fault message to the service or route that called the job.
Inspect errors
Open the error records or tracebacks of a run, or raise and trace error records in code.
Retry a failed step
Run a step again after a failure, up to a limit, with a backoff.
Roll back on failure
Group database steps in a transaction that commits on success and rolls back on failure.
Catch a failure and run a fallback
Wrap steps so that when one fails, a fallback branch or alternative runs instead of the run stopping.
Warn and carry on
Raise a warning, or force a successful result, without stopping the run.
What other tools call it
Meridian's classification; an independent blind rating agreed on 86.2% of 312 rows (exact class, version 2).
Alteryx Designer (1)
Error Messageread 2026-09-27Show an error from an expression in an app or macro and stop downstream processing
Apache Hop (3)
Abortread 2026-09-27Stop the running pipeline once a row threshold arrives, optionally logging an error
Abort workflowread 2026-09-27Stop the running workflow immediately
Successread 2026-09-27Clear any error state and force the workflow result to success
Apache NiFi (1)
RetryFlowFileread 2026-09-27Compare a retry-count attribute with a maximum and route to retry or to a terminal relationship
AWS Glue (2)
ErrorsAsDynamicFrameread 2026-09-27Return the error records that arose while the source frame was created
assertErrorThresholdread 2026-09-27Assert on the errors of the transformations that made the frame
Azure Data Factory (1)
Fail activityread 2026-09-27Throw an error on purpose, with a custom error message and error code
Duckle (4)
Dead Letter Queueread 2026-09-25write rejected rows to a Parquet, CSV or JSON file
Die / Failread 2026-09-25fail the run with a message when a row-count condition holds
Retryread 2026-09-25passthrough marker carrying retry attempts and backoff for the stage
Try / Catchread 2026-09-25install a fallback pipeline that runs if a downstream stage fails
EasyMorph (1)
Halt/Warn on conditionread 2026-09-27Abort the run, or warn and continue, depending on a condition such as an empty table
KNIME Analytics Platform (7)
Catch Errors (Data Ports)read 2026-09-27End a try-catch: pass the second data input when the first branch failed
Catch Errors (Generic Ports)read 2026-09-27End a try-catch over generic ports: pass the second input when the first branch failed
Catch Errors (Var Ports)read 2026-09-27End a try-catch over variable ports: pass the second input when the first branch failed
DB Transaction Endread 2026-09-27End a database transaction, committing on success and rolling back on failure
DB Transaction Startread 2026-09-27Begin a database transaction covering the nodes up to the matching end node
Try (Data Ports)read 2026-09-27Begin a try-catch block on a data connection
Try (Variable Ports)read 2026-09-27Begin a try-catch block on a flow-variable connection
Pentaho Data Integration (1)
Abortread 2026-09-27Stop the running transformation when rows reach this step
Power Query M (2)
Error handlingread 2026-09-274 functions: Error.Record, Diagnostics.Trace, Diagnostics.ActivityId, Diagnostics.CorrelationId
Table.ViewErrorread 2026-09-27Make an error record that a Table.View handler can raise without triggering local fallback
RapidMiner Studio (4)
Handle Exceptionread 2026-09-27Try a subprocess and run a catch subprocess if it fails
Throw Custom Errorread 2026-09-27Raise a user-defined error from inside a custom operator
Throw Exceptionread 2026-09-27Raise an error with a given message and stop the process
Try (Multiple)read 2026-09-27Try alternative subprocesses in turn until one completes without error
Talend (6)
tDieread 2026-09-27Throw an error for tLogCatcher and kill the Job
tESBProviderFaultread 2026-09-27Return the result of a Job cycle as a fault message of the web service the Job provides
tJobFailureread 2026-09-27Throw an exception with a given error type and message
tJobRejectread 2026-09-27Receive the rows rejected during task processing
tRouteFaultread 2026-09-27Send a message from the Job to a Mediation Route, marked as a fault
tWarnread 2026-09-27Raise a prioritised warning message for tLogCatcher without stopping the Job
VisiData (4)
allow-errorread 2026-09-23Suppress expected error messages matching a regex during replay
error-cellread 2026-09-23Open traceback for the error in current cell
error-recentread 2026-09-23Open traceback of the most recent error
errors-allread 2026-09-23Open sheet of recent errors
Background
Exception handling is the process of responding to anomalous or exceptional conditions that need special processing while a program runs.[1] An exception generally breaks the normal flow of execution and runs an exception handler registered in advance.[1] Common exceptions include an invalid argument, an unavailable resource such as a missing file, and running out of memory.[1]
When to use it
In extract, transform, load (ETL) processing, many transformations can raise exceptions, for example when a code translation meets an unknown code in the extracted data.[2] Which conditions count as exceptions is decided by the programmer: division by zero may be treated as an exception, or given a behaviour such as returning zero.[1] So the first decision is the error policy: for each check, whether a failure should stop the run, set the offending rows aside, try again, or only leave a warning. (Meridian's view)
In RapidMiner, the Handle Exception operator runs its Try subprocess and, if there is an error, runs its Catch subprocess instead of stopping the process.[3] In RapidMiner, the Handle Exception operator also covers unexpected errors, so it is meant to be used with care.[3] Wrap only the steps whose failure has a known, safe answer; a fallback around the whole pipeline hides the errors nobody expected. (Meridian's view) Keep retries for failures that are likely to pass, such as a busy or briefly unreachable service, and let a failure caused by the data itself stop the run or set its rows aside. (Meridian's view)
The method
Each procedure has a precondition, and an exception handling mechanism lets the procedure raise an exception when that precondition is violated, which the mechanism then handles.[1] Software exception handling developed in the 1960s and 1970s, and many programming languages adopted it widely from the 1980s onward.[1]
An exponential backoff algorithm reduces the rate of a process in response to adverse events, such as a failure to connect or an error response from a service.[4] In exponential backoff, the pause before each new attempt is multiplied by a fixed amount, so a client might try again after 1 second, then 2 seconds, then 4.[4] In Apache NiFi, the RetryFlowFile processor checks a retry count carried on each item against a configured maximum, and routes the item to an output named retries_exceeded once the count exceeds it.[5]
A database transaction must be atomic: it either completes in its entirety or has no effect whatsoever.[6] In KNIME, the DB Transaction End node commits the transaction if its body ran successfully, and otherwise rolls it back, returning the database to its state at the start of the transaction.[7] In data warehousing, a big ETL process is usually split into smaller pieces, and tagging each piece with a run identifier helps roll back and rerun a failed piece.[2]
In Talend, the tWarn component triggers a warning that is often caught by tLogCatcher, a component that collects and passes on log data.[8]
Sources
- [1]Exception handling - Wikipediasecondary source
- [2]Extract, transform, load - Wikipediasecondary source
- [3]Handle Exception - Rapidminer Documentationdocumentation
- [4]Exponential backoff - Wikipediasecondary source
- [5]RetryFlowFile - Apache NiFidocumentation
- [6]Database transaction - Wikipediasecondary source
- [7]DB Transaction Enddocumentation
- [8]Logs and errors (Integration) components | Talend Components for Jobs Helpdocumentation
Used in
7 Protocols use this operation:
- Epoch AI Notable AI Models dataset, step
raw_models - California Housing dataset, step
load - EDGAR โ GLEIF โ Company-to-LEI Crosswalk, step
package - MedMCQA dataset, step
load - Palmer Penguins dataset, step
raw_penguins - SuperGPQA dataset, steps
corpus,load - USGS Earthquakes 2025 dataset, step
raw_earthquakes