Een Try...Catch constructie zorgt voor een correcte foutafhandeling. We nemen jouw programma als voorbeeld:
1. Het programma wordt geopend
2. De procedure om het tekstbestand aan te maken wordt gestart
3. Door een onverwacht probleem (onvoldoende rechten, geen vrije schijruimte,...) kan het tekstbestand niet worden aangemaakt
4. Het programma crasht
Met een Try...Catch-constructie kan dit eenvoudig worden opgelost. Je code zou er dan zo uitzien:
Try
Dim vBestandnaam As String
vBestandnaam = "c:\test.txt"
Dim vWegTeSchrijvenTekst As String
vWegTeSchrijvenTekst = "Dit komt in hettekstbestand"
'Maak een streamwriter en stel
hetuitput bestand in
Dim vStreamwriter As New
System.IO.StreamWriter(vBestandnaam)
'schrijf de zin naar het bestand
vStreamwriter.Write(vWegTeSchrijvenTekst)
'sluit de streamwriter
vStreamwriter.Close()
Catch
'Deze procedure wordt uitgevoerd als er een fout optreedt
'sluit de streamwriter
vStreamwriter.Close()
Msgbox ("Er is een fout opgetreden. Het tekstbestand kon niet worden aangemaakt", 16, "Fout")
End Try
'Hier komt code die wordt uitgevoerd ongeacht er een fout is opgetreden of niet
'Je kan dit gerust leeglaten
Dit is wat er zou gebeuren als er een Try...Catch-constructie was:
1. Het programma wordt geopend
2. De procedure om het tekstbestand aan te maken wordt gestart (= de code die onder "Try" staat)
3. Door een onverwacht probleem (onvoldoende rechten, geen vrije schijruimte,...) kan het tekstbestand niet worden aangemaakt
4. Visual Basic gaat door naar de code die onder "Catch" staat
5. De code onder "End Try" wordt steeds uitgevoerd
Vriendelijke groet,
Wouter