批处理运行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);
	}	
}


结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值