From bb076d6cb612e4e3cc19dceb5632a400fc0ac866 Mon Sep 17 00:00:00 2001
From: Manuel Thalmann <m@nuth.ch>
Date: Wed, 19 Mar 2025 00:40:42 +0100
Subject: [PATCH] Convey `Config` creation errors using a `Result`

---
 minigrep/src/main.rs | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/minigrep/src/main.rs b/minigrep/src/main.rs
index 1ed6967..fa02490 100644
--- a/minigrep/src/main.rs
+++ b/minigrep/src/main.rs
@@ -21,14 +21,14 @@ struct Config {
 }
 
 impl Config {
-    fn new(args: &[String]) -> Config {
+    fn build(args: &[String]) -> Result<Config, &'static str> {
         if args.len() < 3 {
-            panic!("not enough arguments");
+            return Err("not enough arguments");
         }
 
         let query = args[1].clone();
         let file_path = args[2].clone();
     
-        Config { query, file_path }
+        Ok(Config { query, file_path })
     }
 }