---
name: error-handling-patterns
# prettier-ignore
description: Svelte 5 error handling. Use for error boundaries, async await expressions, loading states, and form errors.
---
# Error Handling Patterns
## Quick Start
```svelte
{#each await get_contacts() as contact}
- {contact.name}
{/each}
{#snippet pending()}
Loading...
{/snippet}
{#snippet failed(error, reset)}
Error: {error.message}
{/snippet}
```
## Core Principles
- **Error boundaries**: Use `` to catch component
errors
- **Pending snippet**: Show loading state while awaiting data
- **Failed snippet**: Display errors with retry via `reset` function
- **Await expressions**: Use `{#each await query()}` directly in
markup
- **Granular boundaries**: Wrap individual features, not entire pages
- **Form errors**: Check remote function `.error` property (e.g.,
`create_contact.error`)
## Reference Files
- [error-handling-guide.md](references/error-handling-guide.md) -
Complete patterns and examples