mirror of
https://github.com/bohd4nx/FragmentAPI.git
synced 2026-07-25 14:24:31 +00:00
54 lines
1.4 KiB
Markdown
54 lines
1.4 KiB
Markdown
# Error Handling
|
|
|
|
Good error handling is the difference between a stable integration and random production failures.
|
|
|
|
## Exception hierarchy
|
|
|
|
- `FragmentError`
|
|
- `ClientError`
|
|
- `ConfigurationError`
|
|
- `CookieError`
|
|
- `FragmentAPIError`
|
|
- `FragmentPageError`
|
|
- `UserNotFoundError`
|
|
- `AnonymousNumberError`
|
|
- `TransactionError`
|
|
- `ParseError`
|
|
- `VerificationError`
|
|
- `OperationError`
|
|
- `WalletError`
|
|
- `UnexpectedError`
|
|
|
|
## Recommended handling pattern
|
|
|
|
```python
|
|
from pyfragment import ConfigurationError, FragmentError, UserNotFoundError, WalletError
|
|
|
|
try:
|
|
result = await client.purchase_stars("@username", amount=500)
|
|
except UserNotFoundError:
|
|
# recipient does not exist on Fragment
|
|
...
|
|
except WalletError:
|
|
# insufficient balance or wallet-side issue
|
|
...
|
|
except ConfigurationError:
|
|
# invalid local input
|
|
...
|
|
except FragmentError:
|
|
# any other library-level failure
|
|
...
|
|
```
|
|
|
|
**Catch specific errors first, then fallback to `FragmentError`.**
|
|
|
|
## Method-to-error mapping
|
|
|
|
- Stars/Premium purchase and giveaway: `ConfigurationError`, `UserNotFoundError`, `WalletError`, `VerificationError`
|
|
- Ads operations: `ConfigurationError`, `UserNotFoundError`, `WalletError`, `VerificationError`
|
|
- Cookies/auth setup: `CookieError`, `ConfigurationError`, `FragmentPageError`
|
|
|
|
## Canonical messages
|
|
|
|
See `pyfragment/exceptions.py` for source-of-truth message templates.
|