Foutafhandeling in .NET

- Neem het volgende eenvoudige voorbeeld: we willen
granden Celsius naar graden Fahrenheit omzetten en omgekeerd. We geven aan
de gebruiker een tekstvak waarin de gebruiker de graden kan invullen die
moeten omgezet worden.

- Probleem: het zou wel eens kunnen dat de gebruiker
iets invoert dat niet verwacht wordt (bv. iets dat geen getal is). Er komen
dan vreemde foutmeldingen die de gebruiker waarschijnlijk niet zal herkennen.
- Daarom gaan we foutafhandeling gebruiken. In .NET is
dat relatief eenvoudig:tik Try en enter in een procedure en je krijgt:
Sub mijnprocedure()
Try
Catch ex As Exception
MsgBox ex.Description
End Try
End Sub
In het eerste stuk zet je de code die je wil laten uitvoeren. In het tweede
stukje zet je de foutafhandeling. Je beschikt over het object ex (de fout,
de uitzondering) die een aantal methoden en eigenschappen hebt die je kan
gebruiken: Message, Source, ToString.
- Ons CF project zou er zo kunnen uitzien:
Dim c, f as double
'...
Private Sub txtCF_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles txtCF.Click
Try
c = CDbl(txtC.Text)
f = 32 + c * 9 / 5
txtF.Text = CInt(f).ToString
Catch ex As Exception
MsgBox(ex.Message.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Private Sub txtFC_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles txtFC.Click
Try
f = CDbl(txtF.Text)
c = (f - 32) * 5 / 9
txtC.Text = CInt(c).ToString
Catch ex As Exception
MsgBox(ex.Message.ToString, MsgBoxStyle.Exclamation)
End Try
End Sub
- Als je de procedures kort genoeg houdt en overal
foutafhandeling voorziet, is dit heel comfortabel werken. De gebruiker
krijgt een duidelijke boodschap, en het programma begint na de foutmelding
opnieuw in dezelfde procedure.
- Je kan het programma bekijken,
de code bekijken en het project
downloaden.
[VB Web] - [hlrnet]
- [copyright]