我在jenkins文件中使用try catch来检查是否抛出了特定的错误以及它是否执行了某些功能
try {
// code that throws an error
} catch (ex) {
echo 'an error occurred'
echo "ex: ${ex}"
if (ex == Exception1) {
// do stuff
}
if (ex == Exception2) {
// do other stuff
}
}
我的问题是,被捕获的错误是哈德逊.AbortException,消息是“脚本返回退出代码1”。
如何捕获抛出的实际错误,而不是哈德逊/jenkins Package 器?
2条答案
按热度按时间yizd12fk1#
如果使用语法sh script运行shell脚本:'echo hello'参考
然后你应该用set + e和set-e来运行它,就像参考文档中提到的那样。2这里set + e和set-e会让程序继续运行,即使你在其间遇到错误,你应该在shell中处理它。3如果在shell中使用2〉&1,返回的值也会包含错误。
如果这个返回值包含Exception,您可以在try本身中引发单独的错误。
例如:
11dmarpk2#
“script returned exit code 1”实际上是错误消息。您应该检查正在运行的脚本并修改它,以便在退出前打印内部脚本错误