-1
for 루프에서 파일을 처리 할 때 Java 예외를 잡으려고합니다. 그러나 루프가 실행되는 동안 자바 예외가 표시되지만 errorlevel은 항상 0입니다.오류 수준이 일괄 파일에서 Java 예외 catch
다른 방법으로 Java 예외를 잡을 수 있습니까, 아니면 내 코드가 잘못되었을 수 있습니까?
for /f %%a in ('dir /b /s %input%') do (
CALL jhove -m PDF-hul -h xml -o %output%\%%~na.xml %%a
if %ERRORLEVEL% EQU 0 (
echo errorlevel equals %Errorlevel%)
if %ERRORLEVEL% GEQ 1 (
echo error)
set /a loop3+=1
)
예외는 다음과 같이이다 :
Verarbeite GBV85882115X
java.lang.ClassCastException: edu.harvard.hul.ois.jhove.module.pdf.PdfSimpleObject cannot be cast to edu.harvard.hul.ois.jhove.module.pdf.PdfDictionary
at edu.harvard.hul.ois.jhove.module.PdfModule.readDocCatalogDict(PdfModule.java:1344)
at edu.harvard.hul.ois.jhove.module.PdfModule.parse(PdfModule.java:521)
at edu.harvard.hul.ois.jhove.JhoveBase.processFile(JhoveBase.java:803)
at edu.harvard.hul.ois.jhove.JhoveBase.process(JhoveBase.java:588)
at edu.harvard.hul.ois.jhove.JhoveBase.dispatch(JhoveBase.java:455)
at Jhove.main(Jhove.java:292)
errorlevel equals 0
자바 프로그램을 System.exit (1)과 같이 0이 아닌 오류로 종료해야합니다. '너 그렇게하고 있니? – SomeDude
@svasa이 자바 프로그램을 편집 할 수 없습니다. –
호출자 프로그램에서 호출하는 API를 랩핑 할 수 있으며 예외가 발생하면 호출자 프로그램을 0이 아닌 값으로 종료합니다. – SomeDude