an-wei
Goto Top

Errorlevel einer java datei abfragen und abfangen

hallo zusammen,

ich habe eine java datei bekommen, welche aus einer cmd heraus ausgefuehrt wird...
java -jar "%SCRIPTDIR%javadatei.jar"  

diese java-datei liest aus einer txt-datei die ftp-daten aus, logt sich auf einem ftp ein und ladet ein bestimmtes verzeichnis auf den lokalen rechner.
alle notwendigen daten, um auf den ftp-server zu kommen, werden in der txt-datei eingetragen und ausgelesen.

wenn ein eintrag, fehlerhaft ist, wird die javaanwendung abgebrochen. wie kann ich diesen fehler abfangen per cmd-script den ausgeben?

vielen dank im voraus fuer eure hilfe
andré


p.s. ich hab von java keinen blassen schimmer... face-confused

Content-ID: 136460

Url: https://administrator.de/contentid/136460

Ausgedruckt am: 25.11.2024 um 00:11 Uhr

cttogo
cttogo 21.02.2010 um 11:09:50 Uhr
Goto Top
Hallo André,

wenn Du hier etwas Java Code zeigen könntest wäre das hilfreich.

An der entsprechenden Stelle ein

System.err.println("derexeptionstring");   

ausgeben und das cmd offen halten (pause) nach dem java Aufruf.

Tom
filippg
filippg 21.02.2010 um 11:45:51 Uhr
Goto Top
Hallo,

eine Java-Anwendung kann (wie auch jede .exe) einen Errorlevel zurückliefern. Der jeweils letzte von einer Anwendung zurückgegebene lässt sich in einer Batch mit %ERRORLEVEL% abfragen. Problem: Die Anwenung _muss_ keinen Errorlevel zurückgeben (und schon gar keinen sinnvollen) - das bleibt der Gründlichkeit des Entwicklers überlassen. Er muss auch irgendwo dokumentieren, welcher Code was bedeutet. Eine Klartextmeldung kann über den Errorlevel nicht zurückgegeben werden. Schreibt die Anwendung (Fehler-)meldung in das DOS-Fenster? Diese kannst du z.B. in eine Datei umleiten und später auswerten: java -jar "%SCRIPTDIR%javadatei.jar" > meldungen.txt würde die Meldungen statt auf die Standardausgabe (DOS-Fenster) in die Datei meldungen.txt umleiten.

Gruß

Filipp
an-wei
an-wei 22.02.2010 um 20:01:22 Uhr
Goto Top
hallo,
ich hab das ganze anders geloest. die java-anwendung schreibt ein logfile. das lese ich aus...

FIND /I "Programmende" "%SCRIPTDIR%Logs\%Y%-%MO%-%D%_%H%-%MI%*.log" >NUL  
IF NOT ERRORLEVEL 1 GOTO error

ist zwar nicht so toll, aber das ganze erfuelt seinen zweck.
danke fuer eure hilfe und die denkanstoesse.

gruesse
andré