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.9. Catch met een When clausule

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.

Het is mogelijk om aan een Catch een When clausule toe te voegen.  Deze When clausule geeft aan dat aan een bepaalde conditie moet voldaan zijn vooraleer dit Catch gedeelte de afhandeling zal voorzien voor de optredende fout.
Visual Basic 2012 Broncode - Codevoorbeeld 410
Class CatchWhenClauseExample
    Public Shared Sub Main()
        Console.Write("Byte value ? : ")
        Dim stringValue As String = Console.ReadLine()
        '
        Try
            Dim decimalValue As Decimal = System.Convert.ToDecimal(stringValue)
            Dim byteValue As Byte
            Try
                byteValue = System.Convert.ToByte(decimalValue)
            Catch ex As OverflowException When decimalValue > 255
                Console.WriteLine("Value to large for a Byte.")
            Catch ex As OverflowException When decimalValue < 0
                Console.WriteLine("Value to small for a Byte.")
            End Try
        Catch ex As FormatException
            Console.WriteLine("Not a numeric value.")
        End Try
        '
        Console.ReadLine()
    End Sub
End Class
Bij de invoer van de tekst "hello" krijgen we de melding "Not a numeric value.".
Console Application Output
Byte value ? : hello
Not a numeric value.
Bij invoer van een waarde "256" of hoger krijgen we de melding "Value to large for a Byte.".
Console Application Output
Byte value ? : 256
Value to large for a Byte.
Bij invoer van een waarde "-1" of lager krijgen we de melding "Value to small for a Byte."
Console Application Output
Byte value ? : -1
Value to small for a Byte.
Bemerk dat we in de When clausules gebruik maken van de variabele decimalValue (en niet van byteValue) om te verwijzen naar de ingevoerde waarde.  ByteValue bevat immers nog geen waarde als een exceptie optreedt bij het omzetten naar Byte.

Bemerk overigens ook hoe het dus mogelijk is meerde Try blokken in mekaar te nesten

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