Test failure paths
Include unavailable providers, interrupted responses, and quota limits in integration tests. Never invent a successful response after a timeout.
Sort failures by responsibility
Input errors need correction. Authentication errors need credential review. Rate limits need documented pacing. Network failures need bounded recovery. None should be stored as proof that an address is invalid.
Return helpful UI feedback
Show a short message that explains the next step. Keep raw stack traces, tokens, and complete vendor responses out of user-visible error messages.
Investigate with minimal data
Record the timestamp, operation, request reference, sanitized error category, and attempt count. Avoid storing entire contact lists in application logs.
Before you enable this workflow
| Confirm | Why it matters |
|---|---|
| Production contract | Use documented fields, limits, and supported operations. |
| Failure policy | Decide what the application does when a check cannot complete. |
| Data boundaries | Keep credentials and customer data out of unnecessary logs. |