From c467671ae8b6ec161c17e86f3383fd0625f755b8 Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Fri, 19 Aug 2022 19:48:10 -0400 Subject: remove sol2 (will re-add as submodule) --- lib/sol2/examples/source/error_handler.cpp | 82 ------------------------------ 1 file changed, 82 deletions(-) delete mode 100644 lib/sol2/examples/source/error_handler.cpp (limited to 'lib/sol2/examples/source/error_handler.cpp') diff --git a/lib/sol2/examples/source/error_handler.cpp b/lib/sol2/examples/source/error_handler.cpp deleted file mode 100644 index 6564676..0000000 --- a/lib/sol2/examples/source/error_handler.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#define SOL_ALL_SAFETIES_ON 1 -#include - -#include - -int main () { - - const auto& code = R"( - bark_power = 11; - - function got_problems( error_msg ) - return "got_problems handler: " .. error_msg - end - - function woof ( bark_energy ) - if bark_energy < 20 then - error("*whine*") - end - return (bark_energy * (bark_power / 4)) - end - - function woofers ( bark_energy ) - if bark_energy < 10 then - error("*whine*") - end - return (bark_energy * (bark_power / 4)) - end - )"; - - sol::state lua; - lua.open_libraries(sol::lib::base); - - lua.script(code); - - sol::protected_function problematic_woof = lua["woof"]; - problematic_woof.error_handler = lua["got_problems"]; - - auto firstwoof = problematic_woof(20); - if ( firstwoof.valid() ) { - // Can work with contents - double numwoof = firstwoof; - std::cout << "Got value: " << numwoof << std::endl; - } - else{ - // An error has occured - sol::error err = firstwoof; - std::string what = err.what(); - std::cout << what << std::endl; - } - - // errors, calls handler and then returns a string error from Lua at the top of the stack - auto secondwoof = problematic_woof(19); - if (secondwoof.valid()) { - // Call succeeded - double numwoof = secondwoof; - std::cout << "Got value: " << numwoof << std::endl; - } - else { - // Call failed - // Note that if the handler was successfully called, this will include - // the additional appended error message information of - // "got_problems handler: " ... - sol::error err = secondwoof; - std::string what = err.what(); - std::cout << what << std::endl; - } - - // can also use optional to tell things - sol::optional maybevalue = problematic_woof(19); - if (maybevalue) { - // Have a value, use it - double numwoof = maybevalue.value(); - std::cout << "Got value: " << numwoof << std::endl; - } - else { - std::cout << "No value!" << std::endl; - } - - std::cout << std::endl; - - return 0; -} -- cgit v1.2.3