¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo

StackFrame (Constructor) (String, Int32, Int32)

Inicializa un nuevo objeto StackFrame que sólo contiene el nombre de archivo, el número de línea y el número de columna especificados.

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

public StackFrame (
	string fileName,
	int lineNumber,
	int colNumber
)
public StackFrame (
	String fileName, 
	int lineNumber, 
	int colNumber
)
public function StackFrame (
	fileName : String, 
	lineNumber : int, 
	colNumber : int
)
No aplicable.

Parámetros

fileName

Nombre de archivo dado.

lineNumber

Número de línea del archivo especificado.

colNumber

Número de columna en el archivo especificado.

Use este constructor si no desea usar la lógica de asignación de líneas del depurador.

En el ejemplo de código siguiente, se muestra el uso de un constructor de StackFrame.

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

try {
    ClassLevel5 nestedClass = new ClassLevel5();
    nestedClass.Level5Method();
}
catch (System.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.jsl", 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.get_FrameCount(); i++) {
        StackFrame sf = st.GetFrame(i);
        Console.WriteLine(" File: {0}", sf.GetFileName());
        Console.WriteLine(" Line Number: {0}", 
            (Int32)sf.GetFileLineNumber());
        Console.WriteLine(" Column Number: {0}", 
            (Int32)sf.GetFileColumnNumber());
    }
    Console.WriteLine();
    Console.WriteLine(" ... throwing exception to next level...");
    Console.WriteLine("---------------------------------------------"
        + "----\n");
    throw e;

Windows 98, Windows 2000 Service Pack 4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft