Gerade für's Tracing / Logging ist man darauf angewiesen, zur Laufzeit Informationen darüber zu erhalten, wo man sich im Code gerade befindet - und zwar nicht nur wenn eine Exception geworfen wird. Klassenname, Methodenname und ähnliches kriegt man ja problemlos über Reflection: 1: string method = System.Reflection.MethodInfo.GetCurrentMethod().Name;
Meist reicht dies - nützlicher wäre es allerdings, wenn man auch noch gleich die Zeilennummer erhalten könnte. Die Klasse StackFrame aus dem System.Diagnostics-Namespace bietet hierfür die nötigen Mittel:
1: StackFrame sf = new StackFrame( 1, true ); 2: string methodName =...
Dieser Artikel beschreibt ein HTTP-Modul mit vollständigem Code um unbehandelte Exceptions sinnvoll zu loggen.In diesem Zusammenhang sei übrigens auch das Blog von Tess empfohlen, dass sich rund um's Debuggen dreht.