批处理运行java抛出%ERRORLEVEL%

一般批处理里检测一条命令是否成功执行

if not %ERRORLEVEL%==0 (
    goto Error
)


执行一条java命令

java -jar tools\exportClientData.jar %DATA_IN_PATH% %DATA_OUT_PATH%

正常情况下,上面的错误判断可能不起作用,异常可能try catch住了

分析下:

%ERRORLEVEL%是错误代码号 0 = 正常

C里面是直接通过main 函数里的 return 1

java main 返回值是void,不能用上面这种方式,java提供里另外一种方式 System.exit(1);


sample:

export.bat

@echo on

set JAVA=E:\sdk\Java\jdk1.6.0_21\bin

%JAVA%\javac Test.java

pause

%JAVA%\java Test

pause

if not %ERRORLEVEL%==0 (
    goto Error
)

goto end
	
:Error
echo *** build process stopped, an error occured ***
pause

:end
echo *** Everything is ok ***


Test.java

public class Test {

	public static void main(String[] args) throws Exception {
		System.out.println("test01");
		
		System.exit(1);
	}	
}


结果:

批处理运行java抛出%ERRORLEVEL%_第1张图片

你可能感兴趣的:(java,exception,String,Build,Path,tools)