VB.Net/Language Basics/Finally — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 19:40, 26 мая 2010
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>