Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Constructor StackTrace (Int32, Boolean)

 

Publicado: noviembre de 2016

Inicializa una nueva instancia de la StackTrace clase a partir del marco del llamador, se omitirá el número de marcos especificado y, opcionalmente, captura información de origen.

Espacio de nombres:   System.Diagnostics
Ensamblado:  mscorlib (en mscorlib.dll)

public:
StackTrace(
	int skipFrames,
	bool fNeedFileInfo
)

Parámetros

skipFrames
Type: System::Int32

El número de marcos de la pila desde la que se va a iniciar la traza.

fNeedFileInfo
Type: System::Boolean

true para capturar el nombre de archivo, el número de línea y el número de columna; de lo contrario, false.

Exception Condition
ArgumentOutOfRangeException

El skipFrames parámetro es negativo.

Si el número de marcos que debe omitirse es mayor o igual que el número total de marcos de la pila de llamadas en el momento en que se crea la instancia, el StackTrace no contendrá marcos.

En el ejemplo de código siguiente se muestra varios StackTrace métodos de constructor.

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
Disponible desde 1.1
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: