StackFrame.ToString Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yığın izlemesinin okunabilir bir gösterimini oluşturur.
public:
override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Döndürülenler
Yığın izlemesinin okunabilir bir gösterimi.
Örnekler
Aşağıdaki örnekte yönteminin kullanımı gösterilmektedir ToString . Bu kod örneği, sınıfı için StackFrame sağlanan daha büyük bir örneğin parçasıdır.
void InternalMethod()
{
try
{
ClassLevel2^ nestedClass = gcnew ClassLevel2;
nestedClass->Level2Method();
}
catch ( Exception^ e )
{
Console::WriteLine( " InternalMethod exception handler" );
// Build a stack trace from one frame, skipping the
// current frame and using the next frame. By
// default, file and line information are not displayed.
StackTrace^ st = gcnew StackTrace( gcnew StackFrame( 1 ) );
Console::WriteLine( " Stack trace for next level frame: {0}", st->ToString() );
Console::WriteLine( " Stack frame for next level: " );
Console::WriteLine( " {0}", st->GetFrame( 0 )->ToString() );
Console::WriteLine( " Line Number: {0}", st->GetFrame( 0 )->GetFileLineNumber().ToString() );
Console::WriteLine();
Console::WriteLine( " ... throwing exception to next level ..." );
Console::WriteLine( "-------------------------------------------------\n" );
throw e;
}
}
public void InternalMethod()
{
try
{
ClassLevel2 nestedClass = new ClassLevel2();
nestedClass.Level2Method();
}
catch (Exception e)
{
Console.WriteLine(" InternalMethod exception handler");
// Build a stack trace from one frame, skipping the
// current frame and using the next frame. By
// default, file and line information are not displayed.
StackTrace st = new StackTrace(new StackFrame(1));
Console.WriteLine(" Stack trace for next level frame: {0}",
st.ToString());
Console.WriteLine(" Stack frame for next level: ");
Console.WriteLine(" {0}", st.GetFrame(0).ToString());
Console.WriteLine(" Line Number: {0}",
st.GetFrame(0).GetFileLineNumber().ToString());
Console.WriteLine();
Console.WriteLine(" ... throwing exception to next level ...");
Console.WriteLine("-------------------------------------------------\n");
throw e;
}
}
Public Sub InternalMethod()
Try
Dim nestedClass As New ClassLevel2
nestedClass.Level2Method()
Catch e As Exception
Console.WriteLine(" InternalMethod exception handler")
' Build a stack trace from one frame, skipping the
' current frame and using the next frame. By default,
' file and line information are not displayed.
Dim st As New StackTrace(New StackFrame(1))
Console.WriteLine(" Stack trace for next level frame: {0}", _
st.ToString())
Console.WriteLine(" Stack frame for next level: ")
Console.WriteLine(" {0}", st.GetFrame(0).ToString())
Console.WriteLine(" Line Number: {0}", _
st.GetFrame(0).GetFileLineNumber().ToString())
Console.WriteLine()
Console.WriteLine(" ... throwing exception to next level ...")
Console.WriteLine("-------------------------------------------------")
Console.WriteLine()
Throw e
End Try
End Sub
Şunlara uygulanır
GitHub'da bizimle işbirliği yapın
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.