From 8776e8e960d7b0743e17b4af2fe9acc95e9808fb Mon Sep 17 00:00:00 2001 From: Thomas Kolb Date: Sun, 21 Feb 2021 19:41:45 +0100 Subject: [PATCH] Properly handle and display Lua errors --- src/main.rs | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 714076e..6dfee4b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -30,11 +30,23 @@ fn main() println!("Loading user script..."); - let script = UserScript::new(sigproc.clone(), "test.lua").unwrap(); + let script = match UserScript::new(sigproc.clone(), "test.lua") { + Ok(script) => script, + Err(e) => { + println!("=== Lua Error ===\n{}\n====> Terminating.", e); + exit(1); + } + }; println!("Calling init()..."); - script.init().unwrap(); + match script.init() { + Ok(_) => (), + Err(e) => { + println!("=== Lua Error ===\n{}\n====> Terminating.", e); + exit(1); + } + }; println!("Done! Starting main loop…"); @@ -85,7 +97,14 @@ fn main() println!("Bass: {:11.2} – Mid: {:11.2} – Treble: {:11.2}", energy_bass, energy_mid, energy_treble); // call the periodic function in the user script - script.periodic().unwrap(); + match script.periodic() { + Ok(_) => (), + Err(e) => { + println!("=== Lua Error ===\n{}\n====> Terminating.", e); + exit(1); + } + }; + } }