Thread Konsolen Ausgabe unterdrücken (18 answers)
Opened by LukeStriker at 2011-01-19 10:09

LukeStriker
 2011-01-24 09:49
#144955 #144955
User since
2010-04-21
69 Artikel
BenutzerIn
[default_avatar]
2011-01-19T15:41:34 FIFO
2011-01-19T14:55:33 LukeStriker
2 Fragen

1. Wie deaktiviert man das wieder? Ich will ja nur für einen bestimmten Bereich keine Fehler sehen...

2. Wenn irgendwo im Script ein Fehler passiert, kommen noch gefühlte 1000 Fehler vom TK Modul. Kann man die für ein bestimmtes Modul abfangen? Wenn ja wie genau?

1. vgl. Gwen und neue Kommentare im Posting oben

2. wenn es um warnings geht, kann man die im Code mit no warnings; unterdrücken (z.B. für einen bestimmten Code-Block). Man kann auch eigene Handler für $SIG{__WARN__} schreiben. Ist selten zielführend, besser man fragt sich, warum die ganzen Meldungen auftauchen und beugt entsprechend vor. Gezielt die Meldungen eines bestimmten Moduls zu blockieren dürfte kaum ohne weiteres möglich sein. Wer so fortgeschritten programmieren kann, kommt dann auch mit ein paar (oder 1000) warnings klar :-)


Hatte die letzten Tage leider keine Zeit mich zu melden.

zu 1.: Also die "Fehlerausgabe" in der Console wird jetzt unterdrückt, aber ich hab es immer noch nicht geschafft das nach der einen Programmzeile, die das Problem ist, MEINE Fehlermeldung in der Console ausgegeben wird.
Werden die kompletten Consolenausgaben in $xyz gespeichert?
Drücke ich mich unverständlich aus? =D


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
# Fehlermeldungen unterdrücken
open(STDERR, '>', 'NUL') or die $!; 
my $res=system("psexec \\\\$fcserver -u $loginname -p $passwordcopytoserver -f -c getevents.exe $fceinDate");
# STDERR wieder zurücksetzen, Fehlermeldung aktivieren
open STDERR, '>&', $xyz;
       
if ($res!=0) {
warn "Es ist ein Fehler aufgetretten copytoserver:\n richtiger  Servername?\n richtiger Login?\n Verbindung zum Server? .";
} #Wenn ein Fehler in der obrigen Zeile auftritt dann diese Meldung in der Console ausgeben


zu 2.: Ich denke das sobald mein Programm wegen z.b.eines Eingabefehlers in einem Formular der Oberfläche mit "die" abbricht das TK Modul dann "irgendeine" Meldung zurück bekommt. Die Oberfläche schließt sich ja nicht(soll auch so sein).
z.b.
Fehler: XY konnte nicht geschloßen werden.
dann kommen 10-15 Zeilen vom TK Modul die mit dem eigentlichen Fehler nichts zu tun haben ;)

Ich könnte natürlich jetzt alle Eingaben überprüfen, die Server pingen ob diese online sind... allerdings würde das viel Performance kosten, da wäre es wesentlich einfacher die Fehlermeldungen des TK Moduls zu unterdrücken, (falls ein Fehler auftaucht) da diese sowieso nicht mit dem eigentlich Fehler zu tun haben. -> aber das Problem ist zweitrangig ;)


Danke schonmal für eure bisherige Hilfe =)

Last edited: 2011-01-24 09:54:54 +0100 (CET)

View full thread Konsolen Ausgabe unterdrücken