diff --git a/ScriptCore/Serialization/EntitySerializer.cs b/ScriptCore/Serialization/EntitySerializer.cs index 4b037a7..f6a6454 100644 --- a/ScriptCore/Serialization/EntitySerializer.cs +++ b/ScriptCore/Serialization/EntitySerializer.cs @@ -323,7 +323,24 @@ public static class EntitySerializer if (type == null) return context; - context._instance = Activator.CreateInstance(type); + try + { + context._instance = Activator.CreateInstance(type, true); + } + catch (MissingMethodException e) + { + Log.Error($"Failed to create instance of type \"{type}\": The type doesn't contain a constructor with zero parameters.\nMake sure the type has a constructor that takes no arguments (It can be private!).\n{e}"); + } + catch (MethodAccessException e) + { + Log.Error($"Failed to create instance of type \"{type}\": The default constructor is not accessible.\n{e}"); + } + catch (Exception e) + { + Log.Error(e); + + return context; + } if (context._instance == null) return context;