]> git.r.bdr.sh - rbdr/blog/blobdiff - src/main.rs
Improve the error handling
[rbdr/blog] / src / main.rs
index 8867dc08f93337ab31d5aca96ec47be5bc773fb4..a5c2cf646a22b7e219d7c594c456e745044c73c9 100644 (file)
@@ -18,6 +18,22 @@ use command::{available_commands, Command, help::Help};
 use configuration::Configuration;
 
 fn main() -> Result<()> {
+    let result = run();
+
+    if cfg!(debug_assertions) {
+        result
+    } else {
+        match result {
+            Ok(_) => Ok(()),
+            Err(e) => {
+                eprintln!("Error: {}", e);
+                std::process::exit(1);
+            }
+        }
+    }
+}
+
+fn run() -> Result<()> {
     let configuration = Configuration::new();
     let commands = available_commands();
     let arguments: Vec<String> = args().collect();