Skip to content
MSAMM
Back to course

Free preview · Oracle Integration Cloud: Building Integrations That Survive Production

Faults versus errors

A FAULT is the target REFUSING. An ERROR is the flow BREAKING. The distinction decides where your handler goes.

A fault comes back from something you called: the service returned an error, the target rejected the record, the adapter reported a problem with the request. It is a response, and it is CATCHABLE — you can wrap the invoke, catch the fault, read what it said, and decide.

An error is your flow failing: a null in an expression, a variable read before assignment, a payload too large, a mapping that could not produce valid output. Some of these the platform catches and some end the instance where it stands.

WHY THE DISTINCTION DECIDES WHERE THE HANDLER GOES. A fault handler wrapped around one invoke catches that target's refusals and knows exactly which call failed and why. A handler at the top of the flow catches everything and knows almost nothing — by the time the failure reaches it, the context that would tell you which record and which step is gone.

So: wrap the invokes, handle the faults where they happen, and keep a top-level handler as a backstop rather than as the design. Lesson 3.

AND THE PRACTICAL CONSEQUENCE FOR ERRORS: prevent rather than catch. A null guard before an expression, an initialised variable, a bounded payload — those remove a whole class of failure that no handler can usefully report on. An error caught at the top of a flow gives you a stack, not a diagnosis, and that is why the mapping module spends a lesson on null.

Get the free lessons by email

We will email you a link to every free lesson in this course. No account needed, and one message only.

That is the end of the free preview. The full course covers the rest of the curriculum, with the assessment and a certificate on completion.

See the full course