Imports System
Public Class MainClass
Shared Sub Main(ByVal args As String())
Try
Console.WriteLine("Open file here")
Dim a As Double = 0
Dim b As Double = 5
Console.WriteLine("{0} / {1} = {2}", a, b, DoDivide(a, b))
Console.WriteLine("This line may or may not print")
' most derived exception type first
Catch e As System.DivideByZeroException
Console.WriteLine( _
"DivideByZeroException! Msg: {0}", e.Message)
Console.WriteLine("HelpLink: {0}", e.HelpLink)
' catch custom exception
Catch e As MyCustomException
Console.WriteLine( _
"MyCustomException! Msg: {0}", e.Message)
Console.WriteLine("HelpLink: {0}", e.HelpLink)
Catch ' catch any uncaught exceptions
Console.WriteLine("Unknown exception caught")
Finally
Console.WriteLine("Close file here.")
End Try
End Sub
' do the division if legal
Shared Public Function DoDivide( _
ByVal a As Double, ByVal b As Double) As Double
If b = 0 Then
Dim e As New DivideByZeroException( )
e.HelpLink = "http://www.java2java.com"
Throw e
End If
If a = 0 Then
' create a custom exception instance
Dim e As New _
MyCustomException("Can't have zero divisor")
e.HelpLink = _
"http://www.java2java.com"
Throw e
End If
Return a / b
End Function 'DoDivide
End Class
Public Class MyCustomException
Inherits System.ApplicationException
Public Sub New(ByVal message As String)
' pass the message up to the base class
MyBase.New(message)
End Sub 'New
End Class 'MyCustomException
|