VB.Net/Language Basics/Finally — различия между версиями
Admin (обсуждение | вклад) м (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