- let mut f = fs::File::create("/tmp/contacts.json").unwrap_or_else(|e| panic!("Could not create /tmp/contacts.json: {:?}", e));
- serde_json::to_writer_pretty(&mut f, &contacts).unwrap_or_else(|e| panic!("Could not serialize contacts: {:?}", e));
+ let mut f = fs::File::create(DB_PATH)?;
+ serde_json::to_writer_pretty(&mut f, &contacts)?;
+ Ok(())
+}
+
+fn load_contacts() -> Result<Contacts, Box<dyn Error>> {
+ let f = fs::File::open(DB_PATH)?;
+ Ok(serde_json::from_reader(f)?)