devxlogo

DisplayExceptionInfo – Displaying error information

DisplayExceptionInfo – Displaying error information

' A reusable routine that displays error information' Note: requires Imports System.ReflectionSub DisplayExceptionInfo(ByVal e As Exception)    ' Display the error message.    Console.WriteLine(e.Message)    Dim st As New StackTrace(e, True)    Dim i As Integer    For i = 0 To st.FrameCount - 1        ' Get the i-th stack frame.        Dim sf As StackFrame = st.GetFrame(i)        ' Get the corresponding method for that stack frame.        Dim mi As MemberInfo = sf.GetMethod        ' Get the namespace where that method is defined.        Dim res As String = mi.DeclaringType.Namespace & "."        ' Append the type name.        res &= mi.DeclaringType.Name & "."        ' Append the name of the method.        res &= mi.Name        Dim objParameters() As ParameterInfo = sf.GetMethod.GetParameters()        Dim objParameter As ParameterInfo        Dim strParameterString As String = ""        strParameterString &= "("        For Each objParameter In objParameters            'Only add commas if there are more than one parameter            ' (default length of 0 plus the opening parenthesis = 1).            If strParameterString.Length <> 1 Then                strParameterString &= ", "            End If            strParameterString &= objParameter.Name & " As " & _                objParameter.ParameterType.Name        Next        strParameterString &= ")"        res &= strParameterString        ' Append information about the position in source file        ' (but only if Debug information is available).        If sf.GetFileName <> "" Then            res &= " (" & sf.GetFileName & ", Line " & sf.GetFileLineNumber & _                ", Col " & sf.GetFileColumnNumber        End If        ' Append information about offset in MSIL code, if available.        If sf.GetILOffset <> StackFrame.OFFSET_UNKNOWN Then            res &= ", IL offset " & sf.GetILOffset.ToString        End If        ' Append information about offset in native code.        res &= ", native offset " & sf.GetNativeOffset & ")"        Console.WriteLine(res)    NextEnd Sub

See also  Why ChatGPT Is So Important Today
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist