Lathund - Felhantering
Förord
Om ett program verkar proffsigt eller inte kan bero mycket på felhanteringen.Innehåll
»Relaterade artiklar
» Lathund - API-anrop» Lathund - Arrayer, egna datatyper och numreringar
» Lathund - Databaser
» Lathund - Grundläggande syntax
» Lathund - Inbyggda funktioner
» Lathund - Klassmoduler
» Lathund - Kortkommandon
» Lathund - Namngivning och deklarationer
» Lathund - Några extra tips
» Lathund - Slingor och operatorer
» Lathund - Spara, öppna och skriva ut filer
» Lathund - Variablers och konstanters räckvidd
Felhantering
Man kan förhindra att programmet avbryts på grund av fel genom att göra som i följande exempel:
Sub Test()
On Error GoTo ErrorHandlerA
Kod som kan tänkas orsaka fel A
On Error GoTo 0
Kod som inte orsakar fel
On Error GoTo ErrorHandlerB
Kod som kan tänkas orsaka fel B
Exit Sub
ErrorHandlerA:
Kod som ska köras om fel A uppstår
Exit Sub
ErrorHandlerB:
Kod som ska köras om fel B uppstår
End Sub
Om man skriver On Error Resume Next fortsätter programmet på nästa rad när ett fel uppstår.
Om man bara skriver On Error Resume fortsätter programmet på samma rad (raden som orsakade felet körs en gång till).
Strukturerad undantagshantering ("structured exception handling" på engelska) av det slag som finns i programmeringsspråket Java saknas i Visual Basic. Detta har dock förändrats i Visual Basic .NET.
För effektiv avlusning av Visual Basic-program rekommenderas flitig användning av kortkommandona F8 och Shift+F8 (det senare är ofta bättre). Dessutom är Locals Window och Watch Window mycket användbara vid avlusning. Immediate Window, som många läroböcker tjatar om, är mindre intressant. Du öppnar dessa fönster genom att klicka på respektive menyval på menyn View.
Enklare buggar kan man upptäcka med hjälp av brytpunkter. Man placerar en brytpunkt på en viss rad genom att klicka till vänster om raden. Raden före brytpunkten kommer att köras. Sedan avbryts programmet och man kan undersöka variablernas värden i den aktuella proceduren genom att peka på dem. Raden med brytpunkten kommer inte att köras förrän man kör vidare. Man tar bort brytpunkten genom att klicka på den.
0 Kommentarer