zoukankan      html  css  js  c++  java
  • 在jenkins中处理外部命令7z的异常

    powershell中有自己的异常捕获机制,但是在jenkins中处理第三方工具抛出的异常时,一直抓不到,疑惑了很久,本篇内容主要描述此次过程及解决方案。


    powershell可以处理外部异常

    try
    {
        .7z.exe -tzip abx a.zip bcd  #dcd不存在,此命令执行必定失败
    }
    catch [System.Exception]
    {
        echo "异常捕获成功"
    }
    

     执行结果:

    将powershell代码移植到jenkins中,构建后查看结果:

    结果:

    【猜测】:可能是第三方工具7z命令重新启动了一个进程,而jenkins没有能捕获到这个异常。

    换个思路:

    7z执行后会返回退出码,我们可以利用退出码来判断7z是否执行成功。

    根据上图可知,当退出码是0时,表示执行成功!

    在powershell中如何获取返回码呢?

    echo $LASTEXITCODE
    

    在powershell中测试成功和失败的退出码:

    将此方法应用到jenkins中

    结果:

    若需要隐藏输出结果,使用“2>&1”即可将正确错误的输出信息输入到某个文件中。

     

     

     7z正常执行:

  • 相关阅读:
    Mayan游戏
    选择客栈
    Redundant Paths
    中心选址
    辗转相除
    字符串
    线段覆盖
    配置魔药
    宝库通道
    教官的监视
  • 原文地址:https://www.cnblogs.com/zqj-blog/p/10697886.html
Copyright © 2011-2022 走看看