StackTrace Constructor (Int32, Boolean)

StackTrace Constructor (Int32, Boolean)

 

Initializes a new instance of the StackTrace class from the caller's frame, skipping the specified number of frames and optionally capturing source information.

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

public StackTrace(
	int skipFrames,
	bool fNeedFileInfo
)

Parameters

skipFrames
Type: System.Int32

The number of frames up the stack from which to start the trace.

fNeedFileInfo
Type: System.Boolean

true to capture the file name, line number, and column number; otherwise, false.

Exception Condition
ArgumentOutOfRangeException

The skipFrames parameter is negative.

If the number of frames to skip is greater than or equal to the total number of frames on the call stack at the time the instance is created, the StackTrace will contain no frames.

The following code example demonstrates various StackTrace constructor methods.

public void Level2Method()
{
   try 
   {
      ClassLevel3 nestedClass = new ClassLevel3();
      nestedClass.Level3Method();

   }
   catch (Exception e) 
   {
      Console.WriteLine(" Level2Method exception handler");

      // Display the full call stack at this level.
      StackTrace st1 = new StackTrace(true);
      Console.WriteLine(" Stack trace for this level: {0}",
         st1.ToString());

      // Build a stack trace from one frame, skipping the current
      // frame and using the next frame.
      StackTrace st2 = new StackTrace(new StackFrame(1, true));
      Console.WriteLine(" Stack trace built with next level frame: {0}",
         st2.ToString());

      // Build a stack trace skipping the current frame, and
      // including all the other frames.
      StackTrace st3 = new StackTrace(1, true);
      Console.WriteLine(" Stack trace built from the next level up: {0}",
         st3.ToString());

      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:
© 2016 Microsoft