Inner Exception Demo : Exception Stack « Development « VB.Net






Inner Exception Demo

Inner Exception Demo
Imports System
Imports System.Text
Imports System.Text.RegularExpressions


Public Class MainClass
         Shared Sub Main(  )
             Try
                 DangerousFunc1(  )

             Catch e As MyCustomException
                 Console.WriteLine(ControlChars.Lf + "{0}", e.Message)
                 Console.WriteLine("Retrieving exception history...")
                 Dim inner As Exception = e.InnerException
                 While Not (inner Is Nothing)
                     Console.WriteLine("{0}", inner.Message)
                     inner = inner.InnerException
                 End While
             End Try
         End Sub 'Main

         Shared Public Sub DangerousFunc1(  )
             Try
                 DangerousFunc2(  )
             Catch e As System.Exception
                 Dim ex As New MyCustomException( _
                  "E3 - Custom Exception Situation!", e)
                 Throw ex
             End Try
         End Sub

         Shared Public Sub DangerousFunc2(  )
             Try
                 DangerousFunc3(  )
             Catch e As System.DivideByZeroException
                 Dim ex As New Exception( _
                     "E2 - Func2 caught divide by zero", e)
                 Throw ex
             End Try
         End Sub 'DangerousFunc2

         Shared Public Sub DangerousFunc3(  )
             Try
                 DangerousFunc4(  )
             Catch e As System.ArithmeticException
                 Throw e

             Catch e As System.Exception
                 Console.WriteLine("Exception handled here!")

             End Try
         End Sub 'DangerousFunc3

         Shared Public Sub DangerousFunc4(  )
             Throw New DivideByZeroException("E1 - DivideByZero Exception")
         End Sub
   
End Class

     Public Class MyCustomException
         Inherits System.ApplicationException

         Public Sub New(ByVal message As String, ByVal inner As Exception)
             MyBase.New(message, inner)
         End Sub 'New
     End Class 'MyCustomException

           
       








Related examples in the same category

1.Display Exception Stack TraceDisplay Exception Stack Trace