You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins共享库自定义异常无法在流水线使用问题求助

解决Jenkins共享库自定义异常无法实例化的问题

步骤1:确保自定义异常类写法正确

先检查src/org/team/pipeline/TestResultFailed.groovy的代码,必须继承Exception并实现构造方法:

package org.team.pipeline

class TestResultFailed extends Exception {
    TestResultFailed(String message) {
        super(message)
    }
}

步骤2:修正vars/teamUtils.groovy的方法实现

推荐直接封装抛出逻辑,避免手动处理类引用的问题:

// vars/teamUtils.groovy
def throwTestResultFailed(String message) {
    throw new org.team.pipeline.TestResultFailed(message)
}

如果一定要返回类对象,方法需正确返回类引用:

// vars/teamUtils.groovy
def getTestResultFailedClass() {
    return org.team.pipeline.TestResultFailed
}

步骤3:Jenkinsfile中的正确调用方式

方式一:使用封装的抛出方法(推荐)

@Library('your-library-name') _

pipeline {
    agent any
    stages {
        stage('Test') {
            steps {
                script {
                    teamUtils.throwTestResultFailed("测试失败")
                }
            }
        }
    }
}

方式二:获取类后实例化

注意不要嵌套调用类名,直接用返回的类引用实例化:

@Library('your-library-name') _

pipeline {
    agent any
    stages {
        stage('Test') {
            steps {
                script {
                    def TestResultFailed = teamUtils.getTestResultFailedClass()
                    throw new TestResultFailed("测试失败")
                }
            }
        }
    }
}

额外检查点

  • 确认Jenkins全局配置中已正确添加共享库,且流水线开头用@Library显式引入(自动加载库可省略,但显式引入更稳妥)
  • 确保共享库代码已推送到Jenkins配置的仓库分支

内容的提问来源于stack exchange,提问作者anechkayf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 06:20:50