ERL bei Ausgabe eines Fehler im Scriptagenten

  • Hallo zusammen,


    derzeit nervt mich mal wieder ein wenig das Errorhandling im Notes Designer.
    Ich progge gerade ein wenig einen Script Agenten. Wie es der Zufall will, klappt natürlich nicht immer alles auf Anhieb.
    Ein Errorhandling habe ich drin und wenn so was passiert, lasse ich mir die Zeile, den Fehlerwert und die eigentliche Fehlermeldung ausgeben.
    Was mich nun schon lange stört ist die Tatsache, dass die Funktion ERL irgendwie einen abstrusen Wert zurück gibt.
    Meist liegt die jenseits von Gut und Böse. Teilweise in leerzeilen, die in meinem Agenten sind.


    Kann das sein, dass die ERL Funktion nicht die Zeile im Designer angibt?

  • Würde mich doch mal interessieren, wie ihr das so macht mit dem debuggen.
    Mal angenommen ihr meint, dass der Code korrekt sei, dann einfach mal den Agenten ohne Debugger angeschmissen.
    Und dann kracht es doch aus (zunächst) nicht ersichtlichen Gründen.
    Nur die Frage ist halt wo, wenn der ERL eine willkürliche Zeilennummer ausgibt?
    Unter 7 ging das doch noch, dass die ERL auch die im Code war, wo der Fehler auftritt oder nicht?

  • Ich kann nicht nachvollziehen, was daran nicht stimmen oder gar angeblich abstrus sollte.


    Wie sieht dein Error Handlich denn exakt aus?

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Ich kann nicht nachvollziehen, was daran nicht stimmen oder gar angeblich abstrus sollte.

    Ich schon :)


    Wie sieht dein Error Handlich denn exakt aus?

    Also: Es gibt nen Scriptagenten, bei dem im Initialize etwaiger Code steht.
    Die erste Zeile in dem code sieht so aus:


    Code
    on error goto fehler


    Am Ende der Sub gibts dann das hier:


    Code
    ende:exit subfehler:messagebox "ERL: " & cstr(erl) & " - ERR: " & cstr(err) & " - " & Errorresume ende


    Jetzt habe ich einen Agenten genommen, der funktioniert.
    Da habe ich mal den Code wie folgt manipuliert, damit ein Fehler auftreten muss. Da doccol diesmal nicht wirklich initialisiert ist.
    code.jpg


    Als Fehlermeldung bekomme ich dann das hier:
    error.jpg


    Allerdings ist das ja ein wenig weiter oben im Code, wo keine Änderung durchgeführt wurde. (In Wirklichkeit Zeile 78 )


    Code
    Set noteSel = dbCur.Createdocument()


    Zumal schon gar nicht an dem Code, wo es um dbCur und noteSel geht. dbCur ist gesetzt und hat ja auch vorher funktioniert.


    taurec:


    Wie nutzt man das "Navigate\Go to Erl Line" denn?
    Wenn der Fehler aufgetreten ist, kommt da bei mir das hier
    erl.jpg


    Hier wird unter Punkt 1 ja auch schon darauf Bezug genommen:
    http://www-10.lotus.com/ldd/nd…766e00410444?OpenDocument


    Aber augenscheinlich stelle ich mich für den Menüpunkt zu doof an ;(


  • Jetzt habe ich einen Agenten genommen, der funktioniert.
    Da habe ich mal den Code wie folgt manipuliert, damit ein Fehler auftreten muss. Da doccol diesmal nicht wirklich initialisiert ist.


    Mal von Anfang an. Wie editierst du deinen Code? Einfach Agenten öffnen und loseditieren oder gehst du erst in die entsprechende Sub oder Function und editierst dann? Es kann durchaus möglich sein, dass in der Gesamtansicht des Codes die 97. Zeile stimmt, in der jeweiligen Sub oder Function es aber tatsächlich die 78. ist.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Einfach Agenten öffnen und loseditieren oder gehst du erst in die entsprechende Sub oder Function und editierst dann?


    Bei meinem jetzigen Agenten sieht es so aus, dass alles in der Initialize Funktion steht. Von daher gehe ich in die Funktion und tippere da los.


    Momentan sieht es aber auch so aus, als wenn die Nummer, welche mir ERL ausgibt auf die Zeile im Designer passt.
    Irgendwie verstehe ich gerade die Welt nicht mehr wirklich. :cursing:


    Naja, ich werde es mal beobachten und wenn mir das wieder komisch vorkommt, mal den "Trick" von Taurec probieren, ob ich dann da lande, wo der Fehler auftaucht.