pub struct Error { /* private fields */ }
Expand description
Represents template errors.
If debug mode is enabled a template error contains additional debug
information that can be displayed by formatting an error with the
alternative formatting (format!("{:#}", err)
). That information
is also shown for the Debug
display where the extended information
is hidden when the alternative formatting is used.
Since MiniJinja takes advantage of chained errors it’s recommended to render the entire chain to better understand the causes.
Example
Here is an example of you might want to render errors:
match template.render(ctx) {
Ok(result) => println!("{}", result),
Err(err) => {
eprintln!("Could not render template: {:#}", err);
// render causes as well
let mut err = &err as &dyn std::error::Error;
while let Some(next_err) = err.source() {
eprintln!();
eprintln!("caused by: {:#}", next_err);
err = next_err;
}
}
}
Implementations
Trait Implementations
sourceimpl Error for Error
impl Error for Error
sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · sourcefn 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 Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more