程序执行结果状态码

【问题】
  如何判断一个程序执行是否成功?在集成测试或者开发过程中,我们需要保证程序异常时候正确抛出异常,并返回相应的状态码,也就是保证程序的行为符合预期。本文简单描述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

你可能感兴趣的:(后端开发,程序执行状态码)