summaryrefslogtreecommitdiffstats
path: root/vendor/handlebars/examples/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/handlebars/examples/error.rs')
-rw-r--r--vendor/handlebars/examples/error.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/handlebars/examples/error.rs b/vendor/handlebars/examples/error.rs
new file mode 100644
index 000000000..3fb874e2b
--- /dev/null
+++ b/vendor/handlebars/examples/error.rs
@@ -0,0 +1,40 @@
+extern crate env_logger;
+extern crate handlebars;
+#[macro_use]
+extern crate serde_json;
+
+use std::error::Error;
+
+use handlebars::Handlebars;
+
+fn main() -> Result<(), Box<dyn Error>> {
+ env_logger::init();
+ let mut handlebars = Handlebars::new();
+
+ // template not found
+ println!(
+ "{}",
+ handlebars
+ .register_template_file("notfound", "./examples/error/notfound.hbs")
+ .unwrap_err()
+ );
+
+ // an invalid templat
+ println!(
+ "{}",
+ handlebars
+ .register_template_file("error", "./examples/error/error.hbs")
+ .unwrap_err()
+ );
+
+ // render error
+ let e1 = handlebars
+ .render_template("{{#if}}", &json!({}))
+ .unwrap_err();
+ let be1 = Box::new(e1);
+ println!("{}", be1);
+ println!("{}", be1.source().unwrap());
+ println!("{:?}", be1.source().unwrap().source());
+
+ Ok(())
+}