Unity3D 版本:5.6.1f1 个人版。
摘要/ TLDR
如何让 Unity3D 调试器在调用函数/方法中显示异常?
细节
我正在尝试使用静态类/方法来简化空值检查。在这个静态类Ensure
中,我有一个NotNull
带有System.Diagnostics.DebuggerStepThrough
属性的静态方法。此方法为我执行典型的空检查和异常抛出。据我了解,这个属性应该使它看起来像调用方法正在抛出异常。它不是。
统一调试器仍然显示在静态类的方法中抛出的异常。有谁知道我缺少什么让调试器像我之前描述的那样工作?我已经在启用和禁用 JMC 的情况下尝试过这个。
静态类和方法
public static class Ensure
{
[System.Diagnostics.DebuggerStepThrough]
public static void NotNull(object valueToTest, string valueName)
{
if (valueToTest == null)
throw new System.NullReferenceException(valueName + " is null");
}
}
调用方法
public class foo
{
public Timer()
{
object obj = null;
Ensure.NotNull(obj, "obj");
}
}