From 0b4af96a515d51c409c6dafef406542dee9da3d4 Mon Sep 17 00:00:00 2001 From: Akshay Date: Sat, 18 Jul 2020 21:06:40 +0530 Subject: add smooth error handling --- src/main.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index dc6081d..f83fc83 100644 --- a/src/main.rs +++ b/src/main.rs @@ -36,12 +36,18 @@ fn main() { .get_matches(); if let Some(c) = matches.value_of("command") { let command = Command::from_string(c); - if matches!(command, Command::TrackUp(_) | Command::TrackDown(_)) { - let mut app = App::load_state(); - app.parse_command(command); - app.save_state(); - } else { - eprintln!("Invalid or unsupported command!"); + match command { + Ok(Command::TrackUp(_)) | Ok(Command::TrackDown(_)) => { + let mut app = App::load_state(); + app.parse_command(command); + app.save_state(); + } + Err(e) => { + eprintln!("{}", e); + } + _ => eprintln!( + "Commands other than `track-up` and `track-down` are currently not supported!" + ), } } else { let mut s = termion().unwrap(); -- cgit v1.2.3