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§
source§impl Error for Error
impl Error for Error
source§fn 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 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()