VB.Net/Development/Exception Catch
Содержание
Catch an Exception
Imports System
Imports System.Text
Imports System.Text.RegularExpressions
Public Class MainClass
Shared Sub Main(ByVal args As String())
Console.WriteLine("Enter Run...")
Func1( )
Console.WriteLine("Exit Run...")
End Sub
Shared Public Sub Func1( )
Console.WriteLine("Enter Func1...")
Func2( )
Console.WriteLine("Exit Func1...")
End Sub "Func1
Shared Public Sub Func2( )
Console.WriteLine("Enter Func2...")
Try
Console.WriteLine("Entering Try block...")
Throw New System.Exception( )
Console.WriteLine("Exitintg Try block...")
Catch
Console.WriteLine("Exception caught and handled")
End Try
Console.WriteLine("Exit func2...")
End Sub "Func2
End Class
Catch an Exception in function and find out the logic flow
Imports System
Imports System.Text
Imports System.Text.RegularExpressions
Public Class MainClass
Shared Sub Main( )
Console.WriteLine("Enter Main...")
Console.WriteLine("Enter func1...")
Try
Console.WriteLine("Entering Try block...")
Func2( )
Console.WriteLine("Exiting Try block...")
Catch
Console.WriteLine("Exception caught and handled")
End Try
Console.WriteLine("Exit func1...")
Console.WriteLine("Exit Main...")
End Sub "Main
Shared Public Sub Func2( )
Console.WriteLine("Enter Func2...")
Throw New System.Exception( )
Console.WriteLine("Exit Func2...")
End Sub "Func2
End Class
Catch Exception outside its Function
Imports System
Imports System.Text
Imports System.Text.RegularExpressions
Public Class MainClass
Shared Sub Main(ByVal args As String())
Console.WriteLine("Enter Run...")
Func1( )
Console.WriteLine("Exit Run...")
End Sub
Shared Public Sub Func1( )
Console.WriteLine("Enter func1...")
Try
Console.WriteLine("Entering Try block...")
Func2( )
Console.WriteLine("Exiting Try block...")
Catch
Console.WriteLine("Exception caught and handled")
End Try
Console.WriteLine("Exit func1...")
End Sub "Func1
Shared Public Sub Func2( )
Console.WriteLine("Enter Func2...")
Throw New System.Exception( )
Console.WriteLine("Exit Func2...")
End Sub "Func2
End Class
Catch More than One Exception
Imports System
Imports System.Text
Imports System.Text.RegularExpressions
Public Class MainClass
Shared Sub Main(ByVal args As String())
Try
Dim a As Double = 5
Dim b As Double = 0
Console.WriteLine("Dividing {0} by {1}...", a, b)
Console.WriteLine("{0} / {1} = {2}", _
a, b, DoDivide(a, b))
" most derived exception type first
Catch e As System.DivideByZeroException
Console.WriteLine("DivideByZeroException caught!")
Catch e As System.ArithmeticException
Console.WriteLine("ArithmeticException caught!")
" generic exception type last
Catch
Console.WriteLine("Unknown exception caught")
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
Throw New System.DivideByZeroException( )
End If
If a = 0 Then
Throw New System.ArithmeticException( )
End If
Return a / b
End Function
End Class
Catch more than one Exception type
Imports System
Imports System.Text
Imports System.Text.RegularExpressions
Public Class MainClass
Shared Sub Main( )
Try
Dim a As Double = 5
Dim b As Double = 0
Console.WriteLine("Dividing {0} by {1}...", a, b)
Console.WriteLine("{0} / {1} = {2}", _
a, b, DoDivide(a, b))
" most derived exception type first
Catch e As System.DivideByZeroException
Console.WriteLine("DivideByZeroException caught!")
Catch e As System.ArithmeticException
Console.WriteLine("ArithmeticException caught!")
" generic exception type last
Catch
Console.WriteLine("Unknown exception caught")
End Try
End Sub "Main
Shared Public Function DoDivide(ByVal a As Double, ByVal b As Double) As Double
If b = 0 Then
Throw New System.DivideByZeroException( )
End If
If a = 0 Then
Throw New System.ArithmeticException( )
End If
Return a / b
End Function
End Class
Catch Unknown Exceptions
Imports System
Imports System.Text
Imports System.Text.RegularExpressions
Public Class MainClass
Shared Sub Main( )
Try
Console.WriteLine("Open file here")
Dim a As Double = 5
Dim b As Double = 0
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 caught!")
Catch
Console.WriteLine("Unknown exception caught!")
Finally
Console.WriteLine("Close file here.")
End Try
End Sub "Main
Shared Public Function DoDivide(ByVal a As Double, ByVal b As Double) As Double
If b = 0 Then
Throw New System.DivideByZeroException( )
End If
If a = 0 Then
Throw New System.ArithmeticException( )
End If
Return a / b
End Function
End Class