Domino 9 und frühere Versionen > ND8: Entwicklung

on error goto im "sub initialize" und in "function" notwendig?

(1/1)

Frank_B:
Hallo,

ich habe hier ein Lotusscript als Beispiel um es zu verdeutlichen:

sub initialize
[...]
 on error goto fehler
    Call IchbineineFunktion
[...]
exit sub

fehler:
    print "Fehler"
end sub

function IchbineineFunktion
 [...]
end function

---

Mit dem Errorhandler kann ich im Script Fehler abfangen.

Erkennt dieser Errorhandler generell auch eine fehlerhafte Funktion oder muss ich in der function auch einen zusätzlichen errorhandler einbauen ?

Schnubbel:
hi,
wenn du im Falle eines Fehlers die Zeile aus der Funktion haben willst, musst du das Error - Handling auch in die Funktion schreiben.

Ich schreibe in die Msgbox, die ich bei Fehlern auslöse - in Klammern - auch immer in welcher Funktion der Fehler aufgetreten ist.

Gruß

Thorsten

cg-home:
Hi,

das kann man, wenn es immer gleich ist, auch etwas automatisieren.
Den Code kannst Du im Designer bei den Vorgaben
im Bereich "Domino Designer - LotusScript-Editor - Codeschablone"
hinterlegen. Auch die Kommentare mit den Beschreibungen die ich am Anfang
immer rein machen möchte, können so hinterlegt werden.
Wenn man darin dann noch die Platzhalter verwendet, sieht es immer
gleich aus und man hat nicht mehr so viel damit zu tun - und man vergisst es nicht ;-)

Hier mein Beispiel unter Sub und Function. Ich nutze "meist" eine extra Lib für das Errorhandling.
Also ggf. noch Dein Errorhandling einbauen.


--- Code: ---%REM
------------------------------------------------------------------------------------------
Design : ${designelement_type} - ${designelement_name}
Element : ${element_type} - ${element_name}
Database : ${db_title}
Function : <Kurz-Beschreibung>
Requires : Use "libError" für Errorhandling in Options
------------------------------------------------------------------------------------------
Author   : ${author},  <Firma>
Created : ${date}
Software : Lotus Notes/Domino 9.0.1
------ Änderungen ------------------------------------------------------------------------
<Platzhalter für Änderungen>
----- weitere Beschreibung  --------------------------------------------------------------
<Platzhalter für Beschreibung>
------------------------------------------------------------------------------------------
%ENDREM

On Error GoTo ErrorHandler

Dim session As New NotesSession
Dim db As NotesDatabase
Dim coll As NotesDocumentCollection
Dim doc As NotesDocument

Set db = session.CurrentDatabase
Set coll = db.UnprocessedDocuments 'Alle markierten Doks in die Collection
Set doc = coll.GetFirstDocument

%REM
While Not (doc Is Nothing)

'Call DatenSammeln(doc)

Set doc = coll.GetNextDocument(doc) 'nächstes Bewertungs-Dok nehmen

Wend 'While Not (doc Is Nothing)
%ENDREM


EXITSCRIPT:
Exit Sub

ERRORHANDLER:
Select Case Err
Case 4419
MsgBox "No document selected.", 64, db.title
Resume exitScript
Case Else
Call ErrorMessage("${designelement_type}: ${designelement_name}, ${element_type}: ${element_name}")
Resume EXITSCRIPT
End Select 'Select Case Err

--- Ende Code ---


Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln