From c838a800b64fbb005b739757d88ca7ded54d0bbd Mon Sep 17 00:00:00 2001 From: Ari Vuollet Date: Sun, 5 Mar 2023 19:30:29 +0200 Subject: [PATCH] Add error logging for module initializers --- Source/Engine/Scripting/BinaryModule.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Source/Engine/Scripting/BinaryModule.cpp b/Source/Engine/Scripting/BinaryModule.cpp index 9f7d7222a..c60f13064 100644 --- a/Source/Engine/Scripting/BinaryModule.cpp +++ b/Source/Engine/Scripting/BinaryModule.cpp @@ -983,7 +983,15 @@ void ManagedBinaryModule::OnLoaded(MAssembly* assembly) { if (method->GetParametersCount() == 0) { - method->Invoke(nullptr, nullptr, nullptr); + MObject* exception = nullptr; + method->Invoke(nullptr, nullptr, &exception); + if (exception) + { + MException ex(exception); + String methodName = String(method->GetName()); + ex.Log(LogType::Error, methodName.Get()); + LOG(Error, "Failed to call module initializer for class {0} from assembly {1}.", String(mclass->GetFullName()), assembly->ToString()); + } } } }