Exportar (0) Imprimir
Expandir todo

StackTrace (Constructor) (Int32, Boolean)

Inicializa una nueva instancia de la clase StackTrace a partir del marco del llamador, pasa por alto 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
)
public StackTrace (
	int skipFrames, 
	boolean fNeedFileInfo
)
public function StackTrace (
	skipFrames : int, 
	fNeedFileInfo : boolean
)

Parámetros

skipFrames

Número de marcos que debe contener la pila para iniciar el seguimiento.

fNeedFileInfo

Es true para capturar el nombre de archivo y los números de línea y de columna; en caso contrario, es false.

Tipo de excepciónCondición

ArgumentOutOfRangeException

El parámetro skipFrames es negativo.

Si el número de marcos que debe pasarse por alto es mayor o igual al número total de marcos de la pila de llamadas en el momento de crear la instancia, StackTrace no contendrá marcos.

En el siguiente ejemplo se muestran los distintos métodos del constructor StackTrace.

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

public void Level2Method() throws System.Exception
{
    try {
        ClassLevel3 nestedClass = new ClassLevel3();
        nestedClass.Level3Method();
    }
    catch (System.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;
    }
} //Level2Method

Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft