StackFrame Constructor (String, Int32, Int32)

 

Initializes a new instance of the StackFrame class that contains only the given file name, line number, and column number.

Namespace:   System.Diagnostics
Assembly:  mscorlib (in mscorlib.dll)

public StackFrame(
	string fileName,
	int lineNumber,
	int colNumber
)

Parameters

fileName
Type: System.String

The file name.

lineNumber
Type: System.Int32

The line number in the specified file.

colNumber
Type: System.Int32

The column number in the specified file.

Use this constructor when you do not want to use the debugger's line mapping logic.

The following example demonstrates the use of the StackFrame constructor. This code example is part of a larger example provided for the StackFrame class.

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;
}

.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top
Show: