fix error-handling when patch is called with a null target method (#711)

This commit is contained in:
Jesse Plamondon-Willard 2020-05-20 02:14:30 -04:00
parent 518bf7e3f1
commit c5c30189e4
No known key found for this signature in database
GPG Key ID: CF8B1456B3E29F49
1 changed files with 7 additions and 1 deletions

View File

@ -34,6 +34,7 @@ namespace StardewModdingAPI.Framework.ModLoading.RewriteFacades
}
catch (Exception ex)
{
// get patch types
var patchTypes = new List<string>();
if (prefix != null)
patchTypes.Add("prefix");
@ -42,7 +43,12 @@ namespace StardewModdingAPI.Framework.ModLoading.RewriteFacades
if (transpiler != null)
patchTypes.Add("transpiler");
throw new Exception($"Harmony instance {this.Id} failed applying {string.Join("/", patchTypes)} to method {original.DeclaringType?.FullName}.{original.Name}.", ex);
// get original method label
string methodLabel = original != null
? $"method {original.DeclaringType?.FullName}.{original.Name}"
: "null method";
throw new Exception($"Harmony instance {this.Id} failed applying {string.Join("/", patchTypes)} to {methodLabel}.", ex);
}
}
}