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§impl Display for JsonPrettyError
impl Display for JsonPrettyError
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.
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 !RefUnwindSafe for JsonPrettyError
impl !UnwindSafe for JsonPrettyError
impl Freeze for JsonPrettyError
impl Send for JsonPrettyError
impl Sync for JsonPrettyError
impl Unpin for JsonPrettyError
impl UnsafeUnpin for JsonPrettyError
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