是否有任何属性可以应用于样板方法,以便这些方法不会出现在堆栈轨迹中?我有很多它们,在某些情况下它们有几个层次。这只是混乱的事情。如何告诉编译器忽略堆栈跟踪中的方法?
实施例的代码:用C
在Spork.Program.ThrowMe()::
class Program { public static void ThrowMe() { throw new NotImplementedException(); } public static void HideMe() { ThrowMe(); } static void Main(string[] args) { try { HideMe(); } catch (Exception e) { } } }
这引发此堆栈跟踪\项目\ XXX \测试沙箱\ ConsoleTesting \ Program.cs的:线58
在Spork.Program.HideMe()在C:\项目\ XXX \测试沙箱\ ConsoleTesting \ Program.cs的:线64
在Spork.Program.Main(字串[] args)在C:\项目\ XXX \测试沙盒\ ConsoleTesting \的Program.cs:行70
你要求的东西在某些情况下是方便的,在其他情况下是恶梦。想象一下其他人正在读你的堆栈跟踪,并看到`Main`叫做`ThrowMe()`。然后他们调查'Main',但无法看到呼叫的来源。另外,想象一下`Main`是500行,所以它不像你的样本那么明显。我同情你,但最终这个“特征”会被滥用,编码将是一场噩梦,这就是为什么它不存在。 – 2011-01-27 16:52:34
非常好的一点。 – Amy 2011-01-27 17:13:03