StackFrame Constructor (String, Int32, Int32)
.NET Framework 2.0
Initializes a new StackFrame object that only contains the given file name, line number, and column number.
Namespace: System.Diagnostics
Assembly: mscorlib (in mscorlib.dll)
Assembly: mscorlib (in mscorlib.dll)
The following code example demonstrates one use of a StackFrame constructor.
try { ClassLevel5 nestedClass = new ClassLevel5(); nestedClass.Level5Method(); } catch (Exception e) { Console.WriteLine(" Level4Method exception handler"); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name, line number // and column number. StackTrace st = new StackTrace(new StackFrame("source.cs", 79, 24)); Console.WriteLine(" Stack trace with dummy stack frame: {0}", st.ToString()); // Access the StackFrames explicitly to display the file // name, line number and column number properties. // StackTrace.ToString only includes the method name. for(int i =0; i< st.FrameCount; i++ ) { StackFrame sf = st.GetFrame(i); Console.WriteLine(" File: {0}", sf.GetFileName()); Console.WriteLine(" Line Number: {0}", sf.GetFileLineNumber()); Console.WriteLine(" Column Number: {0}", sf.GetFileColumnNumber()); } Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level ..."); Console.WriteLine("-------------------------------------------------\n"); throw e; }
try {
ClassLevel5 nestedClass = new ClassLevel5();
nestedClass.Level5Method();
}
catch (System.Exception e) {
Console.WriteLine(" Level4Method exception handler");
// Build a stack trace from a dummy stack frame.
// Explicitly specify the source file name, line number
// and column number.
StackTrace st = new StackTrace(new StackFrame("source.jsl", 79, 24));
Console.WriteLine(" Stack trace with dummy stack frame: {0}",
st.ToString());
// Access the StackFrames explicitly to display the file
// name, line number and column number properties.
// StackTrace.ToString only includes the method name.
for (int i = 0; i < st.get_FrameCount(); i++) {
StackFrame sf = st.GetFrame(i);
Console.WriteLine(" File: {0}", sf.GetFileName());
Console.WriteLine(" Line Number: {0}",
(Int32)sf.GetFileLineNumber());
Console.WriteLine(" Column Number: {0}",
(Int32)sf.GetFileColumnNumber());
}
Console.WriteLine();
Console.WriteLine(" ... throwing exception to next level...");
Console.WriteLine("---------------------------------------------"
+ "----\n");
throw e;
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.