Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  fehlermeldung im batchprozess loggen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  fehlermeldung im batchprozess loggen (548 mal gelesen)
fonzie
Mitglied



Sehen Sie sich das Profil von fonzie an!   Senden Sie eine Private Message an fonzie  Schreiben Sie einen Gästebucheintrag für fonzie

Beiträge: 19
Registriert: 16.01.2007

erstellt am: 03. Sep. 2009 23:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo allerseits,

hat jemand Erfahrung damit, wie man die Fehlermeldung/den Fehlercode im Batchprozess ausgeben/in eine logfile schreiben kann?

Führt man ein Makro im interaktiven Modus aus (schaut dem Makro also gewissermaßen bei der Arbeit zu), dann erscheint eine Fehlermeldung, falls etwas schiefgeht. Genau diese Meldung möchte ich entweder in eine Datei ausgeben. Oder es wäre auch okay, wenn CATIA eine Fehlermeldung an den stdout zurückliefert, falls etwas schiefgeht. Ich bräuchte also irgendein Zeichen von CATIA, wenn im Batchprozess etwas schiefgeht.

Vielen Dank schonmal für eure Mühe,

Gruß fonzie

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 04. Sep. 2009 08:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fonzie 10 Unities + Antwort hilfreich

Hallo,

ist das ein selber programmierter Batchlauf? Wenn ja dann kannst du doch den Error Code abfangen und anhand diesem mit dem StreamWriter in die stdout reinschreiben.

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fonzie
Mitglied



Sehen Sie sich das Profil von fonzie an!   Senden Sie eine Private Message an fonzie  Schreiben Sie einen Gästebucheintrag für fonzie

Beiträge: 19
Registriert: 16.01.2007

erstellt am: 04. Sep. 2009 10:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ja, das Script habe ich selbst verfasst, und zwar in CATScript. Wenn ich hier die Befehle:

On Error Goto Marke

...

Marke: MsgBox("Fehler uebersprungen")

bekomme ich einen Syntaxerror. "On Error Resume Next" funktioniert zwar, das ist aber nicht das, was ich brauche. Mache ich in der Syntax etwas falsch?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 05. Sep. 2009 11:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fonzie 10 Unities + Antwort hilfreich

Hallo Fonzie,

Sprungmarken werden im CATScript nicht berücksichtigt bzw. führen sogar zu einem Laufzeitfehler. Sprungmarken werden bei den meisten Programmieren (bei mir übrigens auch) nicht gerne gesehen. Das liegt an der Übersichtlichkeit des Code´s. Wenn man einen langen Quellcode hat und will diesen Debuggen muss man bis ganz nach unten Scrollen um die Fehlerbehandlung zu sehen. Darum hätte ich eine ganz andere IMHO gewantere Methode für dich dieses Problem zu lösen. Erst schaltest du du Fehlerbehandlung mit On Error Resume next aus.
Wenn der Fehler ausgelöst wird springst du in eine Funktion (die schreibt auch mit dem StreamWriter die stdout Datei).

Als Übergabe nimmst du die Err.Number, die Err.Description und optional auch die Err.Source. Jedes mal wenn ein Fehler ausgelöst wird springst du in die Funktion und lässt dir deine Ausgabe mit dem entsprechenden Fehler, Beschreibung, etc. schreiben. Hier mal ein kurzer Snippet:

Code:

Sub CATMain()

Dim oDoc as PartDocument
    On Error Resume Next
Set oDoc = CATIA.AtiveDocument
    If Err.Number <> 0 Then
            myErrHandler Err.Number, Err.Description, Err.Source
            On Error GoTo 0
    End If
     
End Sub


Function myErrHandler(myErrorCode, myErrorDescription, myErrorSource)

    If myErrorCode = 13 Then 'Falsches Dokument
        Dim M1, M2, M3, M4, M5, Skin, Title
        M1 = "Es wurde ein Fehler ausgelöst! "
        M2 = "Dieser Fehler hat folgende Beschreibung:"
        M3 = "Fehlernummer: " + Chr(9) + Chr(9) & myErrorCode
        M4 = "Fehlerbeschreibung:" + Chr(9) + myErrorDescription
        M5 = "Fehlerquelle:" + Chr(9) + Chr(9) + myErrorSource
        Skin = vbCritical + vbOKOnly
        Title = Fehler
        Box = MsgBox(M1 + M2 + Chr(10) + Chr(10) + M3 + Chr(10) + M4 + Chr(10) + M5, Skin, Title)
        'Hier schreibst du dann mit einem StreamWriter in deine *.txt Datei rein
        'Die MsgBox ist jetzt nur ein Test zum visualisieren
        'Wenn du auf unterschiedliche Fehler differenzierter Reagieren willst kannst wie im Beispiel nach Err.Number
        'aufteilen.
    End If

End Function



Ich hoffe der Code funktioniert. Habe es nicht ausprobiert sondern einfach so runterprogrammiert. Aber ich denke es sollte hinhauen 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fonzie
Mitglied



Sehen Sie sich das Profil von fonzie an!   Senden Sie eine Private Message an fonzie  Schreiben Sie einen Gästebucheintrag für fonzie

Beiträge: 19
Registriert: 16.01.2007

erstellt am: 07. Sep. 2009 10:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Daniel,

vielen Dank für deine ausführliche Antwort! Ich habe deine Lösung zwar nicht zu 100% übernommen, aber so ähnlich. Im Prinzip muss ich nur wissen, ob der Batchprozess erfolgreich war oder nicht, d.h. ob Formdateien erzeugt und exportiert werden konnten oder nicht. Entsprechend lasse ich mit "on error resume next" das Skript durchlaufen. Am Ende entscheidet dann eine Fallabfrage mit Hilfe der Err.Number (Null oder nicht), ob ein Fehler aufgetreten ist. Falls ja, schreibt mir das Skript eine Fehlerdatei raus. Funktioniert bisher ganz gut.

Seltsam ist nur, dass der Fall auftreten kann, dass CATIA zwar die Form erzeugt, die Err.Number jedoch trotzdem nicht Null ist (es wird ein "Item-Error" gemeldet.) Da mit das jedoch egal ist, solange nur die Form erzeugt wird, setze ich vor dem Exportieren die Err.Number wieder auf Null. Falls das Exportieren auch klappt und die Err.Number auf Null bleibt, habe ich alles so getestet, wie ich es brauche.

Gruß und schöne Woche,
fonzie

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz