-1

我对.net 很陌生,所以我的知识在许多领域都非常有限。

我现在正在创建一个网站,并创建了一些静态方法来帮助我 - 这是一个例子:

    public static void ThrowNull<T>(this T obj, string param) where T : class
    {
        if (param.IsNullOrEmpty())
            Throw<ArgumentException>("Undefined param!");

        if (obj.IsNull())
            Throw<ArgumentNullException>(param);
    }

我在其他方法中使用它作为参数保护,调用如下: myVar.ThrowNull("myVar");

上面提到的 Throw 方法如下所示:

    static void Throw<E>(string message) where E : Exception
    {
        throw Activator.CreateInstance(typeof(E), message) as E;
    }

这一切都非常适合测试,但我希望能够记录来自用户的详细信息。如何从这一点获取堆栈跟踪信息?

任何建议表示赞赏。

4

1 回答 1

0
Exception newException = Activator.CreateInstance(typeof(E), message) as E;
<Something?>newException.StackTrace
throw newException;
于 2013-02-15T14:43:10.250 回答