pub struct JsonPrettyError { /* private fields */ }Expand description
Error from validating, planning, or writing formatted JSON tokens.
Syntax errors can carry a byte offset into the input, while output limits, capacity failures, and I/O errors do not. A source error is available only when the failure has an underlying cause.
use std::error::Error;
use qubit_json::format::JsonPrettyErrorKind;
use qubit_json::format::JsonPrettyOptions;
use qubit_json::format::format_json_tokens;
let options = JsonPrettyOptions::builder().build()?;
let syntax = format_json_tokens(b"{}x", &options, None).expect_err("trailing data is invalid");
assert_eq!(syntax.kind(), JsonPrettyErrorKind::Syntax);
assert_eq!(syntax.offset(), Some(2));
assert!(syntax.source().is_some());
let limit = format_json_tokens(b"0", &options, Some(0)).expect_err("zero output allowance");
assert_eq!(limit.kind(), JsonPrettyErrorKind::OutputLimit);
assert_eq!(limit.offset(), None);Implementations§
Source§impl JsonPrettyError
impl JsonPrettyError
Sourcepub fn kind(&self) -> JsonPrettyErrorKind
pub fn kind(&self) -> JsonPrettyErrorKind
Returns the stable error category.
Sourcepub fn offset(&self) -> Option<usize>
pub fn offset(&self) -> Option<usize>
Returns an available zero-based byte coordinate in the source input.
None means the error is not associated with a source position; it does
not mean byte zero. Not every syntax error is guaranteed to have an
offset.
§Returns
The source input byte offset, or None when no coordinate is available.
Trait Implementations§
Source§impl Debug for JsonPrettyError
impl Debug for JsonPrettyError
Source§fn fmt(&self, formatter: &mut Formatter<'_>) -> Result
fn fmt(&self, formatter: &mut Formatter<'_>) -> Result
Formats the error category and available source offset for diagnostics.
The underlying cause is intentionally omitted; callers can inspect it
through Error::source.
§Parameters
formatter— destination formatter for the diagnostic representation.
§Returns
Returns Ok(()) when formatting succeeds, or the formatter’s error
when it cannot accept the diagnostic.
Source§impl Display for JsonPrettyError
impl Display for JsonPrettyError
Source§fn fmt(&self, formatter: &mut Formatter<'_>) -> Result
fn fmt(&self, formatter: &mut Formatter<'_>) -> Result
Formats the error category, including the source offset when available.
The underlying cause is not included in this user-facing summary.
§Parameters
formatter— destination formatter for the user-facing summary.
§Returns
Returns Ok(()) when formatting succeeds, or the formatter’s error
when it cannot accept the summary.
Source§impl Error for JsonPrettyError
impl Error for JsonPrettyError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the optional underlying parsing, allocation, or I/O cause.
Formatting and debug output do not include this cause automatically.
§Returns
Returns the underlying cause when one was attached to this formatting
error, or None when no cause is available.
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()