Struct juniper::executor::FieldError [−][src]
pub struct FieldError<S = DefaultScalarValue> { /* fields omitted */ }
Expand description
Error type for errors that occur during field resolution
Field errors are represented by a human-readable error message and an
optional Value
structure containing additional information.
They can be converted to from any type that implements std::fmt::Display
,
which makes error chaining with the ?
operator a breeze:
fn get_string(data: Vec<u8>) -> Result<String, FieldError> { let s = String::from_utf8(data)?; Ok(s) }
Implementations
Construct a new error with additional data
You can use the graphql_value!
macro to construct an error:
use juniper::FieldError; use juniper::graphql_value; FieldError::new( "Could not open connection to the database", graphql_value!({ "internal_error": "Connection refused" }) );
The extensions
parameter will be added to the "extensions"
field of the error
object in the JSON response:
{
"errors": [
"message": "Could not open connection to the database",
"locations": [{"line": 2, "column": 4}],
"extensions": {
"internal_error": "Connection refused"
}
]
}
If the argument is Value::null()
, no extra data will be included.
pub fn map_scalar_value<Into>(self) -> FieldError<Into> where
S: ScalarValue,
Into: ScalarValue,
[src]
pub fn map_scalar_value<Into>(self) -> FieldError<Into> where
S: ScalarValue,
Into: ScalarValue,
[src]Maps the ScalarValue
type of this FieldError
into the specified one.
Trait Implementations
Performs the conversion.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl<S> RefUnwindSafe for FieldError<S> where
S: RefUnwindSafe,
impl<S> Send for FieldError<S> where
S: Send,
impl<S> Sync for FieldError<S> where
S: Sync,
impl<S> Unpin for FieldError<S> where
S: Unpin,
impl<S> UnwindSafe for FieldError<S> where
S: UnwindSafe,