1

次のコードでは、Inner_A(x)で例外がスローされます。スタックトレースは次のようになりますので、xの値をスタックトレースに表示するにはどうすればよいですか。

at Default2.Inner_A(String x) in C:\test1\Default2.aspx.vb:line 25
at Default2.Page_Load(Object sender, EventArgs e) in C:\test1\Default2.aspx.vb:line 12






Dim strErrorMesssage As String

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Try
        Dim x As String = "testvar"

        Inner_A(x)
    Catch ex As Exception

        strErrorMesssage &= DirectCast(ex, System.ApplicationException).StackTrace.ToString()

    End Try


End Sub


Private Function Inner_A(ByVal x As String) As String

    Throw New ApplicationException("Exception Occured caused in INNER_A ")

    Return " Function Inner_A"

End Function
4

1 に答える 1

1

スタックトレースを変更することはできませんが、変数の値をエラーメッセージに含めることができます。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim x As String
    Try
        x = "testvar"

        Inner_A(x)
    Catch ex As Exception
        strErrorMesssage &= "X = " & x & Environment.NewLine & DirectCast(ex, System.ApplicationException).StackTrace.ToString()
    End Try
End Sub
于 2013-01-19T04:26:27.050 に答える