VB.Net/Language Basics/Finally

Материал из VB Эксперт
Перейти к: навигация, поиск

No exceptions occur in called method

<source lang="vbnet"> Imports System Public Class MainClass

   Shared Sub Main(ByVal args As String())
     
     " Try block does not throw any exceptions 
     Try
        Console.WriteLine("In Does Not Throw Exception")
     Catch
        Console.WriteLine("This Catch never executes")
        " Finally executes because corresponding Try executed
     Finally
        Console.WriteLine( _
           "Finally executed")
     End Try
     Console.WriteLine("End")
   End Sub

End Class


      </source>


Try with Finally

<source lang="vbnet"> Imports System Imports System.Text Imports System.Text.RegularExpressions Public Class MainClass

   Shared Sub Main(ByVal args As String())
            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
        " 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 "DoDivide
   

End Class

      </source>