Error Handling
Core Principles
The Functional Error Model
// Register an event handler
orderNode.on("process-order", function validateOrder(event, context) {
// Validate the order
const validation = validateOrderData(event.payload);
if (!validation.valid) {
// Return error handler function on validation failure
return handleInvalidOrder;
}
// Proceed with valid order
context.validated = true;
return processOrder;
});
// Error handler function
function handleInvalidOrder(event, context) {
// Log the validation failure
logValidationFailure(event.payload);
// Return error result
return {
success: false,
reason: "validation-failed",
details: "Invalid order data"
};
}Error Propagation and Context
Recovery Patterns
Retry Pattern
Circuit Breaker Pattern
Fallback Pattern
Error Events as First-Class Citizens
Distributed Error Handling
Supervisor Pattern
Composing Error Handling with Normal Flow
Last updated