diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2016-12-07 22:05:14 -0500 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2016-12-07 22:05:14 -0500 |
commit | 2c11ce1bff5da9820b3207ad1aa83ac7350741b9 (patch) | |
tree | 54c582259f7932dc1598bb092947162d5f8b7d26 /src/StardewModdingAPI/Framework/InternalExtensions.cs | |
parent | b019dd4f69c9fefeba9f14c2049fb352127e448f (diff) | |
download | SMAPI-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.cs | 10 |
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(); } } } |