Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1576to1580
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Böse oder Ok in VBA?

Böse oder Ok in VBA?
05.09.2017 15:53:22
Peter
Hallo Leute,
mir ist aufgefallen, dass in VBA viele unerwartete Fehler auftreten
können... und das ErrorHandling ist nicht so
Bombe, da man nur das On Error Statement hat und den Globalen Err.
Da ich zu unfähig bin Code zu schreiben, bei welchem nie ein Fehler auftritt,
habe ich unten stehendes Modul + Sub erstellt:
Name: LazyDev
Subs: LazyErrorHandler
Sinn: Zentraler ErrorHandler
Code:

Option Explicit
Public Sub LazyErrorHandler(ByVal ErrNumber_ As Long, ByVal DevString As String, _
Optional ByVal ErrDescription_ As String, Optional ByVal ErrHelpContext_)
If IsMissing(ErrDescription_) Then ErrDescription_ = "###MISSING###"
If IsMissing(ErrHelpCon) Then ErrHelpCon = "###MISSING###"
MsgBox DevString & vbNewLine & _
"Fehler-Code: " & ErrNumber_ & vbNewLine & _
"Fehler Beschreibung: " & ErrDescription_ & vbNewLine & vbNewLine & _
"Hilfe: " & ErrHelpContext_
End Sub
Bin ich nur ein fauler Hund oder macht es tatsächlich Sinn so etwas zu machen?
Was haltet ihr von Zentralem Error Handling (bei größeren Projekten)

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
finde ich OK
05.09.2017 15:58:53
ChrisL
Hi
Ich lasse die Frage offen, weil eine Zweitmeinung würde mich auch interessieren.
Aus meiner Sicht ist das Vorgehen OK.
cu
Chris
AW: Böse oder Ok in VBA?
05.09.2017 16:24:59
onur
Ich weiss nicht, Errorhandling ist eigentlich ok, zeigt dir genau, wo der Fehler auftritt und du kannst dir dort alle Variablen anschauen und den Fehler beheben (auser bei UDFs, das könnte wesentlich besser sein)
AW: Böse oder Ok in VBA?
05.09.2017 16:44:43
Daniel
Kommt immer darauf an, in welcher Projektphase man sich befindet und wer der Nutzer des Makros ist.
Solange man noch in der Test- und Entwicklungsphase ist, ist ein allgemeiner Errorhandler eher hinderlich, weil er Informationen, die für die Ursachenfindung erforderlich sind, "vernichtet" (Fehlerort, Variablenwerte).
Ebenso würde ich bei Makros für den Eigenbedarf drauf verzichten (dann ist die Weiterentwicklungsphase nie zu Ende)
Lediglich wenn man Makros für Personen schreibt, zu denen man keinen direkten Kontakt hat, wäre so was sinnvoll, insbesondere wenn im Makro Einstellungen verändert werden, weil dann sichergestellt werden muss, dass auch bei einem Fehlerabbruch alle Einstellungen wieder so eingerichtet werden, wie sie vor Makrostart waren.
Gruß Daniel
Anzeige
Kann man machen, muss es aber nicht, ...
06.09.2017 01:58:25
Luc:-?
…Peter,
und du bist nicht der Erste, der so etwas versucht. Allerdings solltest du sicherstellen, dass ggf benötigte Fehler­Infos (s. Daniel) nicht verloren gehen!
Was nun UDFs betrifft, ist mir unklar, was onur meint. Ich sehe da keine Probleme… ;-]
🙈 🙉 🙊 🐵 Gruß, Luc :-?
Besser informiert mit …
Sehr Böse ... :-)
06.09.2017 09:58:23
mmat
Hallo,
wozu den eingebauten Errorhändler ausschalten? Der stoppt das Programm an der Stelle wo das Problem auftritt und macht eine Meldung (und bietet ggf. sogar Debugging an), was soll an deiner Methode grundsätzlich besser sein ?
Irgendjemand hat's hier schon anklingen lassen: Errorhandler nur dann, wenn die Software ausgeliefert wird und einen Professionellen Eindruck machen soll. Und in diesem Fall lieber einen speziellen Errorhändler an kritischen Stellen, als so ein allgemeines Ding.
vg, MM
Anzeige
Danke für Antworten!
07.09.2017 15:24:36
Peter
Hallo,
danke für eure Antworten.
Ich denke man kann den schluss ziehen, dass man in bestimmten Fällen,
ein Zentrales Handling einrichten kann.
Voraussetzung sollte dann aber immer sein, dass Err.Number + Err.Description weitergegeben werden sollten + eine Notiz vom einem selbst, welche beschreibt, in welchem Modul oder Sub der Error
aufgetreten ist.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige