try-catch
可以设置块来处理实际应用程序代码中的错误。
例如:
try {
node {
sh 'sleep 20' // <<- can abort here
}
} catch (Exception e) {
println 'catch'
} finally {
println 'finally'
}
node {
println 'second'
}
try {
node {
sh 'sleep 20' // <<- can abort here again
}
} catch (Exception e) {
println 'catch'
} finally {
println 'finally'
}
这是一个带有两个中止的示例输出。
Started by user me
Replayed #3
[Pipeline] node
Running on my-node in /var/lib/jenkins-slave/workspace/my-job
[Pipeline] {
[Pipeline] sh
[my-job] Running shell script
+ sleep 20
Aborted by me
Sending interrupt signal to process
/var/lib/jenkins-slave/workspace/my-job@tmp/durable-9e1a15e6/script.sh: line 2: 10411 Terminated sleep 20
[Pipeline] }
[Pipeline] // node
[Pipeline] echo
catch
[Pipeline] echo
finally
[Pipeline] node
Running on my-node in /var/lib/jenkins-slave/workspace/my-job
[Pipeline] {
[Pipeline] echo
second
[Pipeline] }
[Pipeline] // node
[Pipeline] node
Running on my-node in /var/lib/jenkins-slave/workspace/my-job
[Pipeline] {
[Pipeline] sh
[my-job] Running shell script
+ sleep 20
Aborted by me
Sending interrupt signal to process
/var/lib/jenkins-slave/workspace/my-job@tmp/durable-d711100c/script.sh: line 2: 10416 Terminated sleep 20
[Pipeline] }
[Pipeline] // node
[Pipeline] echo
catch
[Pipeline] echo
finally
[Pipeline] End of Pipeline
Finished: ABORTED
当然,这适用于执行期间发生的任何异常。