diff --git a/src/lib.rs b/src/lib.rs
index c59145e5fe270658569cf9fd31a10c22f3504a22..870676ad63d6b78ff3894f882f68e8ab97888013 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -6,16 +6,20 @@ use command::*;
 
 pub fn repl() {
     let mut input = String::new();
-    let _unused = io::stdin().read_line(&mut input);
-    let out_wrap = run(input.trim().split_whitespace().collect::<Vec<&str>>());
-    if out_wrap.is_some() {
-        let out = out_wrap.unwrap();
-        if out.stdout.is_empty() {
-            println!("{}",out.stderr.trim());
-        } else {
-            println!("{}",out.stdout.trim());
+    match io::stdin().read_line(&mut input) {
+        Ok(n) => {
+            let out_wrap = run(input.trim().split_whitespace().collect::<Vec<&str>>());
+            if out_wrap.is_some() {
+                let out = out_wrap.unwrap();
+                if out.stdout.is_empty() {
+                    println!("{}",out.stderr.trim());
+                } else {
+                    println!("{}",out.stdout.trim());
+                }
+            } else {
+                println!("{} is not a valid command", input.trim());
+            }
         }
-    } else {
-        println!("{} is not a valid command", input.trim());
-    }
+        Err(error) => println!("Line Read Error: {}", error)
+    };
 }