VB.Net/Language Basics/Finally — различия между версиями

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

Текущая версия на 12:42, 26 мая 2010

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