Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: TomLudwig am 17.09.04 - 08:54:05
-
Hallo zusammen,
kann ich in einer NotesDB eigentlich ein "Globales Error Handling" einbauen?
Sodass bei irgendeinem Fehler egal wo in der DB eine Standardmeldung:
"Fehler - Admin benachrichtigen" erscheint?
Wenn ja wo und wie???
Danke, tom
-
Nö, das funktioniert nur für einzelne Funktionen.
-
Das heißt ich darf jetzt in jede einzelne Funktion ein Exception-Handling einbauen ?!?!
-
Das ist
a) wirklich nicht so viel Arbeit und
b) best practice.
Es werden Tonnen an Zeit für das Beheben von Bugs benötigt.
Das beheben der Bugs ist meistens nicht das Problem.
Vielmehr nimmt die Suche nach der Ursache des Bugs 95% der Zeit in Anspruch.
<quatsch>
Deshalb ist es gut, wenn die Fehlerbehandlung möglichst nahe am Fehler liegt, da man so am schnellsten rausfindet, wo der Fehler ist.
</quatsch>
Quatsch, weil zu viel Error-Handling eine Anwendung unleserlich machen kann.
Was ich sagen will ist, dass man extrem dafür sorgen sollte, dass Fehlermeldungen eine rasche Auffindung der Ursache des Fehlers ermöglichen sollen. Dafür ist es oft, aber nicht grundsätzlich hilfreich, wenn das Errorhandling nahe am Fehler liegt.
Gerade in Lotus Notes Anwendungen hat die angebliche "Einfachheit" verbunden mit sehr rudimentären constraints für Datenstrukturen dazu geführt, dass für Organisationen irgendwann Anwendungen sehr schwer zu managen wurden.
Ich hab viele solcher Anwendungen betreut und schüttele oft einfach nur noch den Kopf über die Qualitätsnaivität von einigen "brilliant geniuses in happy-happy land", die auf den Servern dieses Landes ihren Bob abgelassen haben und dann ganz schnell weg waren.
Axel
-
ist doch gar nett so schwer
Und wenn du noch ne nette Log DB dazu haben willst:
http://www.openntf.org (http://www.openntf.org)
Da gibts das OpenLog Projekt. Dies stellt dir ein schönes Log File und die nötigen ErrorRoutinen zur Verfügung, 8)
-
Da gibts das OpenLog Projekt. Dies stellt dir ein schönes Log File und die nötigen ErrorRoutinen zur Verfügung, 8)
Danke für den Tipp.
Noch eine nicht-persönlich gemeinte, zynische Bemerkung eines verbitterten alten Mannes:
Demnächst kommt hier noch so eine Produktivitätsgranate und fragt wie er globale Kommentarzeilen schreiben kann ;D
-
Hallo zusammen,
kann ich in einer NotesDB eigentlich ein "Globales Error Handling" einbauen?
Sodass bei irgendeinem Fehler egal wo in der DB eine Standardmeldung: "Fehler - Admin benachrichtigen" erscheint?
Wenn ja wo und wie???
Danke, tom
Die Standardmeldung bekommst Du ja schon - Notes meckert garantiert herum, wenn ihm was nicht passt.
Wenn es spezifischer sein soll, dann kannst Du einen zentralen ErrorHandler bauen und brauchst dann nur noch in jedes Deiner Module den entsprechenden Aufruf für den Fehlerfall implementieren:
Sub Blablabla (blabla as blabla)
dim blabla as blabla
On Error Goto ErrorRoutine
'your code blablabla
Exit Sub
ErrorRoutine:
Call Errorhandler ("Sub Blablabla")
Exit Sub
End Sub
Einfacher geht es eigentlich nicht, für weitergehende Ansprüche ist natürlich immer Raum gegeben. Wenn man jede eigene Routine entsprechend aufbaut und sich nur einmal einen passende Sub "ErrorHandler" aufbaut (das kann man dann einfach halten oder auch aufwändig) - where is the problem ?
Bernhard
PS: In anderen Systemen sieht das meist sehr ähnlich aus.
PPS: "Fehler - Admin benachrichtigen" hilft ja nun auch nicht besonders weiter.
PPPS: (Ich liebe diese post-post-post-scriptings ;D) Man kann das ErrorHandling ja beliebig in Richtung "high quality" entwickeln. Meine Standard-Routinen benachrichtigen bei Bedarf die Admins per Mail über Fehler und Ursache, loggen das in Protokoll-Dokumente, beeinflussen den weiteren Programmablauf und so weiter. Und das alles mit der leichten Tipparbeit je Modul:
On Error Goto ErrorRoutine
und dort mit
Call ErrorHandler ("NameDesProblematischenModuls")
-
in welcher Programmiersprache gab es noch gleich ein "globales" errorhandling ? Ist mir entfallen ...
-
btw, zu Errorhandling gibt es hier einen sehr guten Thread von Jens:
Best Practices: Error Handling in Lotus Script: Einleitung (http://www.atnotes.de/index.php?board=27;action=display;threadid=11980)
Denn wenn Du auch für alle Errors eine Msg à la "Fehler - Admin benachrichtigen" einbauen willst, musst Du verschiedenes berücksichtigen. Global geht das so - wie ich denke dass Du Dir das vorstellst - nicht. Bernhard hat das schon prima beschrieben.
Jens geht in dem Artikel noch auf weitere Details ein, z.B. wie gehts weiter im Script wo der Fehler auftritt? Soll komplett abgebrochen werden? Resume Next? Wie bekommt der Admin die Fehlerzeile? u.v.m.
-
Demnächst kommt hier noch so eine Produktivitätsgranate und fragt wie er globale Kommentarzeilen schreiben kann ;D
Muhahahaha :)
-
eigentlich ist das ja schon eingebaut. allerdings nicht mit der Nachricht "Bitte Admin verständigen".
-
eigentlich ist das ja schon eingebaut. allerdings nicht mit der Nachricht "Bitte Admin verständigen".
Sag' ich doch:
Die Standardmeldung bekommst Du ja schon - Notes meckert garantiert herum, wenn ihm was nicht passt.
Bernhard ;D
-
Tom hat den Thread schon auf "erledigt" gesetzt - ein Feedback von ihm wäre aber auch nicht schlecht gewesen ...
Bernhard