summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/script/common/c_internal.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/script/common/c_internal.cpp b/src/script/common/c_internal.cpp
index 4c098f8d5..f811dd5d3 100644
--- a/src/script/common/c_internal.cpp
+++ b/src/script/common/c_internal.cpp
@@ -64,8 +64,10 @@ int script_exception_wrapper(lua_State *L, lua_CFunction f)
return f(L); // Call wrapped function and return result.
} catch (const char *s) { // Catch and convert exceptions.
lua_pushstring(L, s);
- } catch (LuaError& e) {
+ } catch (std::exception& e) {
lua_pushstring(L, e.what());
+ } catch (...) {
+ lua_pushliteral(L, "caught (...)");
}
return lua_error(L); // Rethrow as a Lua error.
}