diff --git a/src/main.rs b/src/main.rs index d02c716..728f915 100644 --- a/src/main.rs +++ b/src/main.rs @@ -29,7 +29,7 @@ where } } -fn main() { +fn main() -> Result<(), &'static str> { let max_n: u32 = 10; let matches = App::new(env!("CARGO_PKG_NAME")) @@ -48,10 +48,11 @@ fn main() { command.arg(arg); } - command + Some(command) } - _ => panic!("no command was given"), - }; + _ => None, + } + .ok_or("no command was given")?; let mut iterations: u32 = 0; let mut slot_time: Option = None; @@ -65,12 +66,9 @@ fn main() { iterations += 1; match status.code() { - Some(0) => break, + Some(0) => break Ok(()), Some(_) => {} - None => { - eprintln!("Child terminated by signal; breaking"); - break; - } + None => break Err("child terminated by signal"), } if let Some(SlotTime::AutoGenerated(dur)) = &slot_time {