我对.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;
}
这一切都非常适合测试,但我希望能够记录用户发生的详细信息。如何从这一点获得堆栈跟踪信息?
任何建议表示赞赏。
答案 0 :(得分:0)
Exception newException = Activator.CreateInstance(typeof(E), message) as E;
<Something?>newException.StackTrace
throw newException;