From 9d2a896f0180e82d3728c5961c1312502100e69c Mon Sep 17 00:00:00 2001 From: WriterV2 Date: Sat, 3 Sep 2022 20:01:18 +0200 Subject: Add anyhow error handling --- src/works/mod.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/works') diff --git a/src/works/mod.rs b/src/works/mod.rs index f062565..cfd302d 100644 --- a/src/works/mod.rs +++ b/src/works/mod.rs @@ -1,18 +1,16 @@ +use anyhow::Result; use serde::{Deserialize, Serialize}; pub mod stories; pub trait Works: for<'a> Deserialize<'a> + Serialize { - fn new_from_file(file: std::fs::File) -> Self { - match serde_json::from_reader(std::io::BufReader::new(file)) { - Ok(work) => work, - Err(err) => panic!("Trying to create work from JSON File - {:?}", err), - } + fn new_from_file(file: std::fs::File) -> Result { + Ok(serde_json::from_reader(std::io::BufReader::new(file))?) } - fn create_tera_context(&self) -> tera::Context { + fn create_tera_context(&self) -> Result { let mut context = tera::Context::new(); context.insert("works", &self); - context + Ok(context) } } -- cgit v1.2.3