gpt4 book ai didi

groovy - 如何在 Groovy (soapui/readyapi) 中使用异常获取错误的行号

转载 作者:行者123 更新时间:2023-12-02 22:30:21 25 4
gpt4 key购买 nike

  //Code 1 
log.info undefined

当我们运行代码1时,我们在soapui/readyapi中得到以下错误

enter image description here

请注意:-行号在错误消息中可见

但是为了避免这个警报,我们使用了try/catch来打印它,所以上面的代码修改为下面的代码2

//code 2
try
{
log.info undefined
}
catch(Exception e)
{
log.info e
}

当我们运行代码 2 时,我们得到以下结果

Mon Mar 19 15:04:16 IST 2018:INFO:groovy.lang.MissingPropertyException: No such property: undefined for class: Script6

问题:- 我们怎样才能看到问题所在的行号,就像我们在代码1中看到的那样

要求:- 我们的异常 block 应该能够判断问题出在哪一行。

由于代码很小,我们可以知道,有时代码有 100 多行,很难知道异常在哪里

最佳答案

基于 @tim_yates 使用 e.stackTrace.head().linenumber 的答案:

import org.codehaus.groovy.runtime.StackTraceUtils 

try {
println undefined
} catch (Exception e) {
StackTraceUtils.sanitize(e)
e.stackTrace.head().lineNumber
}

在异常上使用 sanitize() 从异常的堆栈跟踪中删除所有奇怪的 Groovy 内部内容。否则,当您查看第一个 StackTraceElement 时,它可能不是您想要的。

deepSanitize() 是相同的,但也会将转换应用于所有嵌套的异常(如果有)。

关于groovy - 如何在 Groovy (soapui/readyapi) 中使用异常获取错误的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49359900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com