pub struct FieldError { /* fields omitted */ }
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)
}
Construct a new error with additional data
You can use the graphql_value!
macro to construct an error:
use juniper::FieldError;
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.
Formats the value using the given formatter. Read more
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.