VB.Net/Language Basics/Finally

Материал из VB Эксперт
Версия от 12:42, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

No exceptions occur in called method

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


Try with Finally

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