summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/StardewModdingAPI/Framework/InternalExtensions.cs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/StardewModdingAPI/Framework/InternalExtensions.cs b/src/StardewModdingAPI/Framework/InternalExtensions.cs
index 71f70fd5..415785d9 100644
--- a/src/StardewModdingAPI/Framework/InternalExtensions.cs
+++ b/src/StardewModdingAPI/Framework/InternalExtensions.cs
@@ -70,15 +70,21 @@ namespace StardewModdingAPI.Framework
/// <param name="exception">The error to summarise.</param>
public static string GetLogSummary(this Exception exception)
{
- string summary = exception.ToString();
+ // type load exception
+ if (exception is TypeLoadException)
+ return $"Failed loading type: {((TypeLoadException)exception).TypeName}: {exception}";
+ // reflection type load exception
if (exception is ReflectionTypeLoadException)
{
+ string summary = exception.ToString();
foreach (Exception childEx in ((ReflectionTypeLoadException)exception).LoaderExceptions)
summary += $"\n\n{childEx.GetLogSummary()}";
+ return summary;
}
- return summary;
+ // anything else
+ return exception.ToString();
}
}
}