Fehlerhandling

  • Hi,
    brrauch mal etwas Nachhilfe im Fehlerhandling...
    Also, ich schreibe per Funktion Daten in eine SQL-Datenbank. Jetzt möchte ich gerne falls das nicht funktioniert den Fehler abfangen.
    Habe das über 'Set Error' realisiert. Habe aber auch festgestellt daß wenn nicht geschrieben werden kann (wenn zum Beispiel ne falsche Tabelle angegeben wird) die Funktion einfach abgebrochen wird und ich somit
    einen auftretenden Fehler nicht auswerten kann.

    Code
    Func _SQLLog ($oConn, $sLogTable, $sScriptName, $sScriptPath, $sLogText, $sEvent)
       If StringUpper($sEvent) <> "Warnung" And StringUpper($sEvent) <> "Fehler" And StringUpper($sEvent) <> "Critical" Then Return SetError(2,0,0)
       $oConn.execute ("INSERT INTO " & $sLogTable & " (" & $sSpalte1 & "," & $sSpalte2 & "," & $sSpalte3 & "," & $sSpalte4 & "," & $sSpalte5 & "," & $sSpalte6 & ") VALUES('" & $sScriptName & "','" & $sScriptPath & "','" & $sDate & "','" & _Now() & "','" & $sLogText & "','" & StringUpper($sEvent) & "')")
       If @error Then Return SetError(1, 0, 0)
       Return 1
    EndFunc ;==> _SQLLog

    Was mach ich falsch ?

    Markus

    Einmal editiert, zuletzt von bordermax (10. Januar 2013 um 13:33)

  • Was mach ich falsch ?


    Du versuchst mit @error auf den Fehler eines Objekts zu reagieren. @error wird be nur von AutoIt-Funktionen gesetzt. Dz musst dir mit

    [autoit]

    ObjEvent

    [/autoit]

    eine Fehlerabfrage für das Objekt $oConn basteln. Schau dir dazu das 2. Beipiel zu ObjEvent an.

    mfg autoBert

  • So, hab das Problem jetzt mit einem eigenem Fehlerhandling gelöst...Hätte ich mal die Hilfe ordentlich gelesen ...:)

    $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ; Implementiert einen eigenen
    Error-Handler


    Gruß

    Markus