指定したファイル名、行番号、および列番号だけを含む新しい StackFrame オブジェクトを初期化します。
名前空間: System.Diagnostics
アセンブリ: mscorlib (mscorlib.dll 内)
構文
'宣言
Public Sub New ( _
fileName As String, _
lineNumber As Integer, _
colNumber As Integer _
)
'使用
Dim fileName As String
Dim lineNumber As Integer
Dim colNumber As Integer
Dim instance As New StackFrame(fileName, lineNumber, colNumber)
public StackFrame (
string fileName,
int lineNumber,
int colNumber
)
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
)
パラメータ
- fileName
指定したファイル名。
- lineNumber
指定したファイルの行番号。
- colNumber
指定したファイルの列番号。
解説
デバッガの行マップ ロジックを使用しない場合に、このコンストラクタを使用します。
使用例
StackFrame コンストラクタを使用するコード例を次に示します。
Try
Dim [nestedClass] As New ClassLevel5()
[nestedClass].Level5Method()
Catch e As Exception
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.
Dim st As 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.
Dim i As Integer
For i = 0 To st.FrameCount - 1
Dim sf As StackFrame = st.GetFrame(i)
Console.WriteLine(" File: {0}", sf.GetFileName())
Console.WriteLine(" Line Number: {0}", _
sf.GetFileLineNumber())
Console.WriteLine(" Column Number: {0}", _
sf.GetFileColumnNumber())
Next i
Console.WriteLine()
Console.WriteLine(" ... throwing exception to next level ...")
Console.WriteLine("-------------------------------------------------")
Console.WriteLine()
Throw e
End Try
End Sub 'Level4Method
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 = gcnew 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 = gcnew StackTrace( gcnew 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().ToString() );
Console::WriteLine( " Column Number: {0}", sf->GetFileColumnNumber().ToString() );
}
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 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0