[VBA] Error Handling in alle functies nodig?

Pagina: 1
Acties:

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
In de meeste functies gebruik je natuurlijk errorhandlers, omdat je anders een leuke sluitende applicatie hebt. ;)

Maar is het nodig om een errorhandler te definieren voor een functie als:

code:
1
2
3
Private Sub btnClose_Click()
  DoCmd.Close
End Sub


Ik vind het anders zo'n bloated code worden.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • storeman
  • Registratie: April 2004
  • Laatst online: 02:08
Nee, voor dat soort dingen is dat natuurlijk niet nodig, tenzij er een kleine kans bestaat dat je het object niet kunt sluiten, daarvoor zou je natuurlijk nog een if constructie kunnen bouwen, zodoende is je code zo veilig dat voor zoiets een errorhandler lichtelijk overbodig is.

Heb je code waar fouten op zouden kunnen treden, om wat voor reden dan ook, dan natuurlijk een errorhandler bouwen.

"Chaos kan niet uit de hand lopen"


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Mja, ik heb zat soortgelijke functies onder knoppen zitten die enkel een query uitvoeren. Die query bestaat en klopt, dus voor zover ik zie kan er dan ook geen fout optreden. Maar misschien zie ik toch iets over het hoofd waardoor je bij dat soort functies beter wel een errorhandler kunt bouwen. Ik weet het niet...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • thomrob
  • Registratie: Maart 2001
  • Laatst online: 22-05 12:22

thomrob

allround developer

Foutafhandeling moet je altijd toevoegen als je 'iets' met gegevens doet (select, update, delete, insert)

als je query gegevens ophaalt uit bv een sql-server en die server draait niet ontstaat een fout.

Verwijderd

Mja, het opvangen van een fout kan handig zijn. Ik gebruik het zelf nooit -> ik sloop al die overbodige code er uit. Als er iets fout gaat kom je toch altijd in de debug-mode terecht, waar een popup staat met de foutmelding en de betreffende regel. Als je zorgt dat je code goed is, heb je in principe geen foutafhandeling nodig. Tenzij er bijvoorbeeld een server uit staat oid (zoals hierboven genoemd werd), maar eigenlijk vind ik dat een dusdanig erge fout, dat een beetje code om een nette foutmelding weer te geven overbodige luxe is.

Verwijderd

2 opmerkingen, in het voorbeeld uit de TS lijkt de code op zich te staan, maar er kan bv. nog een ander event getriggerd worden waarbij het mss wel noodzakelijk kan zijn te weten of een bepaalde actie correct is verlopen.
het niet-afhandelen van fouten heeft ook z'n invloed op globale variabelen: deze worden gewist, en dat is niet altijd gewenst gedrag. in dat geval is foutafhandeling onontbeerlijk. laat het niet weg zonder voldoende te testen.

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Mja, het gaat hier om een 'gewone' access DB zonder iets speciaals eigenlijk. Ik weet praktisch zeker dat mijn queries niet kunnen falen. (De query is niet malformed, en de tabellen waarop hij opereert bestaan gewoon.) Als er al fouten ontstaan bij de queries dan is er zoiets ergs verf#ckt bij de DB dat er toch een backup opgevist moet worden denk ik.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info

Pagina: 1