StackFrame Constructor (Int32, Boolean)

 

Initializes a new instance of the StackFrame class that corresponds to a frame above the current stack frame, optionally capturing source information.

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

public:
StackFrame(
	int skipFrames,
	bool fNeedFileInfo
)

Parameters

skipFrames
Type: System::Int32

The number of frames up the stack to skip.

fNeedFileInfo
Type: System::Boolean

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

The following example demonstrates the use of the StackFrame(Int32, Boolean) constructor. This code example is part of a larger example provided for the StackFrame class.

void Level2Method()
{
   try
   {
      ClassLevel3^ nestedClass = gcnew ClassLevel3;
      nestedClass->Level3Method();
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( " Level2Method exception handler" );

      // Display the full call stack at this level.
      StackTrace^ st1 = gcnew 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 = gcnew StackTrace( gcnew 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 = gcnew 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: