Domino 9 und frühere Versionen > ND8: Entwicklung
Kryptische Fehlermeldung in Maske
pram:
Hallo Li Si,
das Problem trat bei mir meist dann auf, wenn eine Maske eine Library "used" und in der lib was geändert wird (z.B. zusätzliche Methode in der Klasse), dann ist die Maske immer noch gegen die alte Klassensignaturen compiliert und es treten die komischsten Fehler auf( General LSE Error, oder eben der den du beschreibst)
Ein Recompile all oder ein Neuspeichern der Maske (wobei man aber im LS-Code was änder muss, deshalb Leerstelle hinzufügen) löst einen Recompile aus, wobei die Maske dann gegen die neue Lib compiliert wird.
Besonders "fies" ist der 8.5.1er Designer, da dieser TEILmasken beim Recompile-All nicht mehr mitcompiliert.
Hast du denn eine Zeilennummer an der der Fehler auftritt? (->Errorhandler oder Debugger)
Falls die Zeilennummer unplausibel ist (weil z.B. ein der Zeile kein solcher Fehler auftreten kann) denke ich dass ich mit meiner Vermutung richtig liege. Allerdings spricht dagegen, dass der Fehler nur sporadisch auftritt (evtl gibts auch die Maske 2x mit selben Namen, dass hin und wieder die "defekte" verwendet wird)
Ansonsten musst halt mal schauen, was der User da eingibt, wenn der Fehler auftritt.
Gruß aus Italien 8)
Roland
Li Si:
So, ich habe jetzt mal ein Errorhandling eingebaut, das bei Fehler das Dokument kopiert und als "Fehlerdokument" in der DB abspeichert. Zusätzlich werden in dem Fehlerdokument Fehlertext, Fehlernummer und Fehlerzeile abgelegt.
Mal sehen, ob mich das weiterbringt - ich halte euch auf dem Laufenden.
Von einem Kollegen bekam ich heute noch den Tipp, dass ähnliche Fehler entstehen können, wenn in einem bearbeitbaren Feld Script-Events gefüllt sind und das Feld anschließend in ein berechnetes Feld umgewandelt wird, ohne den Script-Code zu löschen. Der Script-Code wird dann zwar nicht mehr angesprungen, kann aber Probleme beim Kompilieren verursachen. Das war bei mir nicht der Fall, aber vielleicht hilft es ja jemand anderem.
@Axel
Danke - das "Logging" erledige ich jetzt über das Fehlerdokument.
@pram
Es gab zwischendrin auch mal einen General LSE Error (der ist inzwischen ein guter Bekannter von mir ;D) in der Datenbank, den ein Recompile All beseitigt hat. Für den hier diskutierten Fehler hat das leider gar nichts gebracht.
Teilmasken gibt es nicht in der fraglichen Maske, und die Maske ist auch nur einmal in der Datenbank vorhanden.
Ob mir die Fehlerzeile weiterhelfen wird, werden wir sehen...
Vielen Dank für deine Überlegungen!
Li Si:
Leider bin ich noch nicht wirklich weiter in der Sache - die Fehlerdokumente die ich erhalten habe melden tatsächlich einen Type Mismatch, wann und wo der auftritt konnte ich aber immer noch nicht klären. Klar ist denke ich dass es etwas mit den Eingaben des Users zu tun haben muss, da der Fehler ja nur ab und zu mal auftritt. Reproduzieren konnte ich ihn aber immer noch nicht, trotz 1:1-Kopien der fehlerhaften Dokumente...
Ich melde mich wenn ich Neues weiß!
Grüße aus Lummerland ;D
Axel:
Dann bau doch mal an allen Stellen an denen Benutzereingaben erfolgen entsprechend detaillierte Meldungsausgaben in die Protokolldatenbank ein. Dann solltest du relativ schnell erkennen können wo's klemmt.
Axel
Li Si:
Gibt es in Notes eine Möglichkeit, außer Fehlernummer, Fehlertext und Fehlerzeile (also Erl, Error und Err) weitere Infos zu einem Fehler zu bekommen? Die Fehlerzeile nutzt mir ja leider wenig, wenn ich nicht weiß in welchem Script genau der Fehler aufgetreten ist. Kann ich irgendwie an den Namen des aktuell laufenden Scripts kommen?
@Axel
Wie meinst du das? Es handelt sich ja um eine Maske mit diversen Eingabefeldern. Nach dem vollständigen Ausfüllen der Maske startet der User ein Script, das eine Validierung durchführt, einige interne Änderungen am Dokument vornimmt und dann im Frontend speichert.
Welche Stellen würdest du für Meldungsausgaben für geeignet halten?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln