# Cross Platform Error Handling

> Design consistent error handling across web, mobile, and React Native—central handlers, user-facing copy, retry, and logging.

- Skill: `charlieviettq/cross-platform-error-handling` (Agent Skill)
- Install (CLI): `npx skillmds@latest add charlieviettq/cross-platform-error-handling`
- Raw SKILL.md: https://api.skillmd.com/api/skills/charlieviettq/cross-platform-error-handling/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: charlieviettq (https://skillmd.com/u/charlieviettq)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/charlieviettq/cross-platform-error-handling

---


# Cross-Platform Error Handling

Patterns for centralized error capture, user-appropriate messaging, and observability across web and mobile clients.

## When to use

- Inconsistent error UX across platforms
- Unhandled promise rejections or crash reports
- Adding global error boundary/handler

## When not to use

- Server-side API error design (use `api-and-interface-design`)
- Single-platform app with existing mature pattern (extend, don't rewrite)

## Architecture

```
Error occurs → classify (network/auth/validation/unknown)
            → log (structured, no PII)
            → user message (actionable, localized)
            → optional retry/report
```

## Platform patterns

| Platform | Mechanism |
|----------|-----------|
| React web | Error boundary + window `unhandledrejection` |
| React Native | Global handler + native crash reporting SDK |
| Next.js | `error.tsx` boundaries + server action error mapping |

## User messaging rules

- **Network** — "Check connection" + retry
- **Auth** — redirect to login; no token details
- **Validation** — field-level hints
- **Unknown** — generic message + support/ref ID; log details server-side

## Checklist

- [ ] Central error type taxonomy (shared package if monorepo)
- [ ] No stack traces shown to end users
- [ ] Correlation ID in user-facing error when support needed
- [ ] Regression test for at least one error path per platform
- [ ] Offline mode handled where applicable

