pub enum Error {
ContentNotFound,
DeserializeError(Error),
}
Expand description
Comprehensive error types that can occur when working with JSON namespaces.
This enum covers all possible error conditions that may arise during JSON namespace operations, from content extraction to deserialization failures.
§Error Categories
- Content Errors: Issues with extracting content from JSON values
- Deserialization Errors: Problems with parsing JSON into custom types
§Examples
use apollo_rust_client::namespace::json::{Json, Error};
use serde::{Deserialize, Serialize};
use serde_json::json;
#[derive(Debug, Deserialize, Serialize)]
struct MyType {
name: String,
value: i32,
}
// Create a sample JSON namespace
let json_data = json!({
"content": r#"{"name": "test", "value": 42}"#
});
let json_namespace = Json::try_from(json_data).unwrap();
match json_namespace.to_object::<MyType>() {
Ok(config) => {
// Handle successful deserialization
println!("Config: {:?}", config);
}
Err(serde_error) => {
// Handle JSON parsing errors
eprintln!("JSON parsing failed: {}", serde_error);
}
}
Variants§
ContentNotFound
Failed to extract content from the JSON value.
This error occurs when the JSON value doesn’t contain the expected “content” field or when the content field is not a string.
DeserializeError(Error)
Failed to deserialize JSON value into the target type.
This error occurs when the JSON content cannot be parsed into the requested type due to format mismatches, missing fields, or type conversion failures.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.