【问题】
如何判断一个程序执行是否成功?在集成测试或者开发过程中,我们需要保证程序异常时候正确抛出异常,并返回相应的状态码,也就是保证程序的行为符合预期。本文简单描述Linux平台和Windows平台获取程序状态码的方法。
【解决方案】
- LInux平台 – echo $?
现有一个内容如下的python文件,稍后我们将执行该.py文件,并查看相应的输出信息。
localhost:~ # cat test.py
#!/usr/bin/env python
print('This is a test!\n')
localhost:~ # ./test.py
This is a test!
localhost:~ # echo $?
0
根据上述输出及程序执行结束的状态码 0,可以判定当前程序执行成功。
现在更新上述源文件内容如下:
localhost:~ # cat test.py
#!/usr/bin/env python
print('This is a test!\n')
print('his is also a test!'
localhost:~ # ./test.py
File "./test.py", line 6
^
SyntaxError: invalid syntax
NWClient-6234:~ # echo $?
1
根据上述输出及程序执行结束的状态码 1,可以判定当前程序执行失败:符号错误!
- Windows平台 – echo %errorlevel%
如下所示,运行可执行程序TestService.exe,查看其执行结果:
C:\Program Files\TESTAPP\bin
λ TestService.exe -a <param_1> -a <param_2>
C:\Program Files\DPSFSAGENT\bin
λ echo %errorlevel%
0