Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

15.11. Exception Throwing

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

Naast het opvangen van exceptions kunnen we ook zelf exceptions opwerpen.  Dit kan doormiddel van een Throw statement.  Het keyword Throw wordt hier gevolgd door een objectexpressie van type System.Exception.

Stel je voor dat we een settable TaxPercentage eigenschap hebben in een Article' klasse.  Wat moet er dan gebeuren indien de client een foutieve ( bijvoorbeeld negatieve) taxwaarde probeert in te stellen ?

Niets doen is eigenlijk geen goed optie, want de clientprogrammeur verwacht dat als er geen excepties optreden bij het aanroepen van een bepaald commando, dit commando ook succesvol is uitgevoerd.
article1.TaxPercentage = -1
Console.Write(article1.TaxPercentage = -1) ' True
Het zelf opwerpen van een exceptie is hier een mogelijkheid.  Omdat het hier gaat om een foutieve argumentwaarde, zou je een object van het voorgedefinieerde exceptietype ArgumentOutOfRangeException kunnen opwerpen.
Aan de constructor van dit type geven we doormiddel van het paramname argument aan om welke parameter het gaat, en doormiddel van het message argument kunnen we wat extra informatie voorzien over de context waarin deze exceptie is opgetreden.
Visual Basic 2012 Broncode - Codevoorbeeld 412
Namespace ExceptionThrowingExample
    Class Article
        Protected _TaxPercentage As Integer
        Public Property TaxPercentage() As Integer
            Get
                TaxPercentage = _TaxPercentage
            End Get
            Set(ByVal value As Integer)
                If value < 0 Then
                    Throw New ArgumentOutOfRangeException(paramname:="value", _
                                     message:="Parameter can not be negative.")
                Else
                    _TaxPercentage = value
                End If
            End Set
        End Property
    End Class
    Class Client
        Public Shared Sub Main()
            Dim article1 As New Article
            Try
                article1.TaxPercentage = -1
            Catch ex As ArgumentOutOfRangeException
                Console.WriteLine("ArgumentOutOfRangeException occured...")
                Console.Write("Message : " & ex.Message)
            End Try
            '
            Console.ReadLine()
        End Sub
    End Class
End Namespace
Console Application Output
ArgumentOutOfRangeException occured...
Message : Parameter can not be negative.
Parameter name: value

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.