Result type for error handling, with comprehensive error variants for different failure scenarios.
RdapError Enum
All errors are represented by theRdapError enum:
src/error.rs:7
Error Variants
Http
HTTP request failures (network errors, connection timeouts, etc.):src/error.rs:9
Json
JSON parsing errors when the server returns invalid or unexpected JSON:src/error.rs:12
Io
File I/O errors (cache access, config file reading):src/error.rs:15
Bootstrap
Bootstrap service discovery failures:src/error.rs:18
InvalidQuery
Invalid query string:src/error.rs:21
NotFound
Resource not found (HTTP 404):src/error.rs:24
NoWorkingServers
All RDAP servers failed:src/error.rs:27
ServerError
RDAP server returned an error response:src/error.rs:30
InvalidUrl
URL parsing error:src/error.rs:37
Timeout
Request timeout:src/error.rs:40
Cache
Cache-related errors:src/error.rs:43
Other
Miscellaneous errors:src/error.rs:46
Complete Error Handling Example
Here’s a comprehensive example handling all error types:examples/error_handling.rs
RDAP Error Responses
Some RDAP servers return error information as part of a successful HTTP response. These are represented asRdapObject::Error:
src/models/error.rs
Result Type Alias
The library provides aResult type alias for convenience:
src/error.rs:5
Best Practices
Error Display
All errors implement theDisplay trait for user-friendly messages:
Http: “HTTP request failed: ”Json: “JSON parsing failed: ”Io: “IO error: ”Bootstrap: “Bootstrap error: ”InvalidQuery: “Invalid query: ”NotFound: “Object not found (404)”NoWorkingServers: “No working RDAP servers found”ServerError: “RDAP server error : ”InvalidUrl: “Invalid URL: ”Timeout: “Timeout”Cache: “Cache error: ”Other: ""
Next Steps
Examples
See complete working examples
Getting Started
Back to getting started guide
