Exportar (0) Imprimir
Expandir todo

StackFrame (Constructor) (String, Int32, Int32)

Actualización: noviembre 2007

Inicializa una nueva instancia de la clase StackFrame que sólo contiene el nombre de archivo y el número de línea y 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
)

Parámetros

fileName
Tipo: System.String
Nombre del archivo.
lineNumber
Tipo: System.Int32
Número de línea del archivo especificado.
colNumber
Tipo: System.Int32
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 siguiente ejemplo se muestra cómo utilizar el constructor 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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft