|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
In plaats van in het Catch blok een variabele te declareren van het type System.Exception kan men ook specifieker zijn en hier bijvoorbeeld een variabele van het type System.DivideByZeroException declareren. Visual Basic 2010 Broncode Class SystemDivideByZeroExceptionExample Public Shared Sub Main() Try Dim dividend As Integer = 10 Dim divisor As Integer = 0 Dim result As Integer = dividend \ divisor Console.WriteLine(result) Catch ex As System. DivideByZeroException Console.WriteLine( "DivideByZeroException occured...") Console.WriteLine( " Message : " & ex.Message) Console.WriteLine( " Source : " & ex.Source) Console.WriteLine( " Method : " & ex.TargetSite.ToString()) End Try Console.ReadLine() End SubEnd ClassDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output DivideByZeroException occured...
Message : Attempted to divide by zero.
Source : TryCatchExampleApplication
Method : Void Main() Alle exceptietypes, dus ook DivideByZeroException zijn afgeleid van het type System.Exception, wat maakt dat een referentie van eender welk exceptie-object kan gestockeerd worden in een variabele van het type Exception. Bemerk ook hoe we in het Catch gedeelte nog altijd de Message, Source en TargetSite bijvoorbeeld kunnen opvragen. Deze members worden door DivideByZeroException immers overgeërfd van basistype Exception.
Hier handelt het Catch gedeelte dus specifiek DivideByZeroExceptions af, andere soorten van exceptions die zouden optreden, zouden dus niet worden afgehandeld.
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|