|
Dit artikel is gepubliceerd op zondag 31 juli 2011 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) 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 2010 Broncode 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 ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output ArgumentOutOfRangeException occured...
Message : Parameter can not be negative.
Parameter name: value
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|