# Error Types Reference
This document provides complete reference for all error types in the Ostium Rust SDK.
## OstiumError Enum
```rust
pub enum OstiumError {
Network(String),
Contract(String),
GraphQL(String),
Config(String),
Validation(String),
Wallet(String),
Http(reqwest::Error),
Json(serde_json::Error),
Decimal(rust_decimal::Error),
Provider(String),
Other(String),
}
```
## Error Categories
### Network Errors
- Connection failures
- Timeout errors
- RPC endpoint issues
### Contract Errors
- Smart contract execution failures
- Insufficient balance
- Invalid transaction parameters
### Validation Errors
- Invalid input parameters
- Out-of-range values
- Missing required fields
## Error Handling Patterns
```rust
match result {
Ok(value) => handle_success(value),
Err(OstiumError::Network(msg)) => handle_network_error(msg),
Err(OstiumError::Validation(msg)) => handle_validation_error(msg),
Err(e) => handle_other_error(e),
}
```
## See Also
- [Error Handling Guide](../guides/error-handling.md) - Comprehensive error handling patterns