如何检查python中子进程中是否存在任何RuntimeError?

时间:2017-01-04 11:09:26

标签: python

我能够用subprocess.CalledProcessError捕获它,但是我想确保它是RuntimeError。我正在使用“subprocess.check_call”方法。

我尝试过类似的东西而且没用。

    try:
        subprocess.check_call(arguments, cwd=<my_cwd>)
    except subprocess.CalledProcessError:
        try:
            raise
        except RuntimeError:
            print "Runtime Error....."

2 个答案:

答案 0 :(得分:0)

我认为你不能做你想做的事。查看check_call方法的说明。

  

使用参数运行命令。等待命令完成。如果       退出代码为零然后返回,否则提高       CalledProcessError。 CalledProcessError对象将具有       返回returncode属性中的代码。       参数与call函数相同。       例:       check_call(["ls", "-l"])

如果使用subprocess.check_call调用python脚本,则无法判断是否发生RuntimeError,因为唯一重要的是脚本的返回代码。

答案 1 :(得分:0)

不可能做你要问的事。它们是独立的过程。父母无法捕捉到孩子提出的任何例外情况。在检查了孩子的退出状态后,您可以在父母本身中CalledProcessError提出check_call