summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI/Framework/InternalExtensions.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2016-12-07 22:05:14 -0500
committerJesse Plamondon-Willard <github@jplamondonw.com>2016-12-07 22:05:14 -0500
commit2c11ce1bff5da9820b3207ad1aa83ac7350741b9 (patch)
tree54c582259f7932dc1598bb092947162d5f8b7d26 /src/StardewModdingAPI/Framework/InternalExtensions.cs
parentb019dd4f69c9fefeba9f14c2049fb352127e448f (diff)
downloadSMAPI-2c11ce1bff5da9820b3207ad1aa83ac7350741b9.tar.gz
SMAPI-2c11ce1bff5da9820b3207ad1aa83ac7350741b9.tar.bz2
SMAPI-2c11ce1bff5da9820b3207ad1aa83ac7350741b9.zip
add TypeLoadException details when intercepted by SMAPI
Diffstat (limited to 'src/StardewModdingAPI/Framework/InternalExtensions.cs')
-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();
}
}
}