diff --git a/Barotrauma/BarotraumaClient/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs b/Barotrauma/BarotraumaClient/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs index 79cfc308b..e25b575a4 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs @@ -200,7 +200,7 @@ namespace Barotrauma.Networking catch (Exception e) { - string errorMsg = "Failed to read event for entity \"" + entity.ToString() + "\"! (MidRoundSyncing: " + thisClient.MidRoundSyncing + ")\n" + e.StackTrace; + string errorMsg = "Failed to read event for entity \"" + entity.ToString() + "\" (" + e.Message + ")! (MidRoundSyncing: " + thisClient.MidRoundSyncing + ")\n" + e.StackTrace; errorMsg += "\nPrevious entities:"; for (int j = entities.Count - 2; j >= 0; j--) { diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs index 9bd033a11..f397aab03 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs @@ -632,11 +632,22 @@ namespace Barotrauma.Items.Components return null; } - object[] lobject = new object[] { item, element }; - object component = constructor.Invoke(lobject); + ItemComponent ic = null; + try + { + object[] lobject = new object[] { item, element }; + object component = constructor.Invoke(lobject); - ItemComponent ic = (ItemComponent)component; - ic.name = element.Name.ToString(); + ic = (ItemComponent)component; + ic.name = element.Name.ToString(); + } + catch (TargetInvocationException e) + { + DebugConsole.ThrowError("Error while loading entity of the type " + t + ".", e.InnerException); + GameAnalyticsManager.AddErrorEventOnce("ItemComponent.Load:TargetInvocationException" + item.Name + element.Name, + GameAnalyticsSDK.Net.EGAErrorSeverity.Error, + "Error while loading entity of the type " + t + " (" + e.InnerException + ")\n" + Environment.StackTrace); + } return ic; } diff --git a/Barotrauma/BarotraumaShared/Source/Map/Entity.cs b/Barotrauma/BarotraumaShared/Source/Map/Entity.cs index 8490e6113..3297e0831 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Entity.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Entity.cs @@ -138,7 +138,7 @@ namespace Barotrauma GameAnalyticsManager.AddErrorEventOnce( "Entity.RemoveAll:Exception" + e.ToString(), GameAnalyticsSDK.Net.EGAErrorSeverity.Error, - "Error while removing entity \"" + e.ToString() + "\"" + exception.Message); + "Error while removing entity \"" + e.ToString() + " (" + exception.Message + ")\n" + exception.StackTrace); } } StringBuilder errorMsg = new StringBuilder();