Autor Thema: Globales Error Handling  (Gelesen 2369 mal)

TomLudwig

  • Gast
Globales Error Handling
« 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

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re:Globales Error Handling
« Antwort #1 am: 17.09.04 - 09:35:34 »
Nö, das funktioniert nur für einzelne Funktionen.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

TomLudwig

  • Gast
Re:Globales Error Handling
« Antwort #2 am: 17.09.04 - 09:58:02 »
Das heißt ich darf jetzt in jede einzelne Funktion ein Exception-Handling einbauen ?!?!

Marinero Atlántico

  • Gast
Re:Globales Error Handling
« Antwort #3 am: 17.09.04 - 10:29:56 »
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
« Letzte Änderung: 17.09.04 - 10:48:12 von Marinero Atlántico »

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re:Globales Error Handling
« Antwort #4 am: 17.09.04 - 11:14:56 »
ist doch gar nett so schwer
Und wenn du noch ne nette Log DB dazu haben willst:
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)
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Marinero Atlántico

  • Gast
Re:Globales Error Handling
« Antwort #5 am: 17.09.04 - 12:24:32 »
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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Globales Error Handling
« Antwort #6 am: 17.09.04 - 18:33:52 »
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")

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Globales Error Handling
« Antwort #7 am: 17.09.04 - 18:45:24 »
in welcher Programmiersprache gab es noch gleich ein "globales" errorhandling ? Ist mir entfallen ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Globales Error Handling
« Antwort #8 am: 18.09.04 - 21:32:14 »
btw, zu Errorhandling gibt es hier einen sehr guten Thread von Jens:

Best Practices: Error Handling in Lotus Script: Einleitung

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.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Globales Error Handling
« Antwort #9 am: 18.09.04 - 23:23:03 »
Demnächst kommt hier noch so eine Produktivitätsgranate und fragt wie er globale Kommentarzeilen schreiben kann  ;D


Muhahahaha  :)
« Letzte Änderung: 18.09.04 - 23:23:43 von Thomas Völk »
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Globales Error Handling
« Antwort #10 am: 18.09.04 - 23:27:37 »
eigentlich ist das ja schon eingebaut. allerdings nicht mit der Nachricht "Bitte Admin verständigen".
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Globales Error Handling
« Antwort #11 am: 18.09.04 - 23:53:35 »
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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Globales Error Handling
« Antwort #12 am: 18.09.04 - 23:54:48 »
Tom hat den Thread schon auf "erledigt" gesetzt - ein Feedback von ihm wäre aber auch nicht schlecht gewesen ...

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz