我正在groovy中运行一个shell,它执行python脚本。通过将python脚本赋值给一个变量,我能够得到它的输出。不过,我也希望捕获异常,但如果出现异常,则无法获得python跟踪。groovy脚本:
script{
try{
var_name = bash("""python3 some_script.py""")
echo "$(var_name)"
}
catch(exc){
echo "$(var_name)"
}
}
如果没有从python引发的异常,则会打印脚本的输出,但如果输出为null,则打印异常。有什么解决办法吗?
发布于 2022-02-01 17:11:23
Python将异常写入标准错误,因此,如果您想要捕获它们以及正常的输出,您应该通过将2>&1
添加到bash输入将stderr重定向到stdout。
在您的例子中,它将是bash("""python3 some_script.py 2>&1""")
。
假设bash
函数将参数发送到bash。
https://stackoverflow.com/questions/70942905
复制相似问题