foutmeldingen kan je mijns insziens het beste voorkomen
Dat is inderdaad duidelijk. Niets zo vervelend als "druk OK om het proces af te sluiten". Dikwijls heeft dan een deel van de (minder gezonde) code wijzigingen aangebracht, zonder de zaak te kunnen afmaken.
We zorgen dus zeker voor 2 dingen.
1. fouten "behandelen"
2. handelingen op de werkbladen "bundelen"
1. "behandelen"
De gemakkelijkste - maar wel meest naïeve - is het permanent inschakelen van "kijk maar de andere kant op en loop door", zoals met de lijn
On Error Resume Next
Alles gaat dan "prima", zelfs als alles misloopt
In bepaalde "loops" kan dat goed zijn.
NB: bij "End Sub" of "End Function" houdt de werking van "On Error" op, dus in de bovenstaande voorbeelden is er geen probleemIn het algemeen moeten we er echter voor zorgen fouten "gericht" te onderscheppen. Je checkt iets via een functie: dat is meestal checken of bepaalde objecten of data "bestaan" ("hebben we al een blad met die naam?") of een bepaalde inhoud hebben. Naargelang "waar" of "onwaar" gaat de code de ene of de andere kant uit en vraagt eventueel de gebruiker om iets te beslissen.
2. "bundelen"
Je wil absoluut vermijden dat er iets fataals gebeurt, wanneer je code al een deel van de handelingen heeft verricht. Bij grotere operaties kunnen we de gebruiker vragen of hij het goed vindt dat er "gesaved" wordt. Dan gaan we zoveel mogelijk "in memory" uitrekenen en pas op het einde de hele zaak in 1 keer naar de werkmap schrijven.
* Als er onderweg iets fout loopt, zelfs iets wat we echt niet voorzien hadden (een echte bug dus) staat ons project nog netjes op het scherm.
*Deze aanpak laat code ook sneller verlopen.Hmm, misschien toch maar eens een boek schrijven.
beste groeten,
Erik