Error handling 使用try/catch处理JMeter Beanshell错误
我试图使用beanshell try catch脚本,但我很难做到这一点。问题太少了: 为什么当我尝试运行以下代码时会收到错误,而不是catch语句“error in beanshell?”Error handling 使用try/catch处理JMeter Beanshell错误,error-handling,jmeter,try-catch,beanshell,Error Handling,Jmeter,Try Catch,Beanshell,我试图使用beanshell try catch脚本,但我很难做到这一点。问题太少了: 为什么当我尝试运行以下代码时会收到错误,而不是catch语句“error in beanshell?” String str = "a"; try { log.info(str) } catch (Exception ex) { log.error("Error in beanshell", ex); throw ex; } 错误: 2016/12/14 10:26:33 ERRO
String str = "a";
try {
log.info(str)
}
catch (Exception ex) {
log.error("Error in beanshell", ex);
throw ex;
}
错误:
2016/12/14 10:26:33 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval In file: inline evaluation of: ``String str = "a"; try { log.info(str) } catch (Exception ex) { log.error("Err . . . '' Encountered "}" at line 4, column 1.
2016/12/14 10:26:33 WARN - jmeter.protocol.java.sampler.BeanShellSampler: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval In file: inline evaluation of: ``String str = "a"; try { log.info(str) } catch (Exception ex) { log.error("Err . . . '' Encountered "}" at line 4, column 1.
其次,当我运行此代码时:
try {
String str = "a";
log.info(str)
}
catch (Exception ex) {
log.error("Error in beanshell", ex);
throw ex;
}
我得到这个错误:
2016/12/14 10:27:25 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval In file: inline evaluation of: ``try { String str = "a"; log.info(str) } catch (Exception ex) { log.error("Er . . . '' Encountered "}" at line 4, column 1.
2016/12/14 10:27:25 WARN - jmeter.protocol.java.sampler.BeanShellSampler: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval In file: inline evaluation of: ``try { String str = "a"; log.info(str) } catch (Exception ex) { log.error("Er . . . '' Encountered "}" at line 4, column 1.
同样,我不明白为什么接球还没有开始。
另外-捕获异常/可丢弃/EvalError等之间有什么区别?
感谢您正在使用语法(缺少
;
),因此Java解释器存在。异常处理不用于捕获语法错误
请尝试以下引发算术异常的示例:
import java.lang.ArithmeticException;
try {
int i = 1/0;
} catch ( ArithmeticException e ) {
log.info( "print" + e );
}
参考:
您正在使用语法(缺少
;
),因此存在Java解释器。异常处理不用于捕获语法错误
请尝试以下引发算术异常的示例:
import java.lang.ArithmeticException;
try {
int i = 1/0;
} catch ( ArithmeticException e ) {
log.info( "print" + e );
}
参考:
log.info(str)
之后缺少分号,因此您的代码需要:
String str = "a";
try {
log.info(str);//<-- this semicolon is VERY important
}
catch (Exception ex) {
log.error("Error in beanshell", ex);
throw ex;
}
String str=“a”;
试一试{
log.info(str);//您在log.info(str)
之后缺少分号,因此您的代码需要:
String str = "a";
try {
log.info(str);//<-- this semicolon is VERY important
}
catch (Exception ex) {
log.error("Error in beanshell", ex);
throw ex;
}
String str=“a”;
试一试{
log.info(str);//那么,在编写脚本时,如何在BeanShell代码中找到语法错误呢?我尝试添加您所说的算术异常并删除“;"从int i=1/0,但是算术异常没有出现。我不知道我们是否可以将语法错误作为异常处理。上面的代码是一个异常处理的示例,其中您执行除以0
,这会引发算术异常
。仅供参考,没有人使用异常处理来处理语法错误。该示例有效使用有效语法(添加;
)因此,请更正语法并重试,您将看到算术异常
将显示为仅信息
,而不是BeanShell错误
。因此,在编写脚本时,如何在BeanShell代码中查找语法错误?我尝试添加您所说的算术异常并删除“;”从int i=1/0,但是算术异常没有出现。我不知道我们是否可以将语法错误作为异常处理。上面的代码是一个异常处理的示例,其中您执行除以0
,这会引发算术异常
。仅供参考,没有人使用异常处理来处理语法错误。该示例有效使用有效语法(添加;
),因此,请更正语法并重试,您将看到算术异常
将显示为仅信息
,而不是BeanShell错误
如何使用调试()
?我只是在脚本的开头添加了它?在您添加的链接上,我没有找到使用它的指南。是的,如果您在脚本的开头添加此指令,您将在STDOUT(启动JMeter的控制台窗口)中看到大量输出如果我还在调试我的项目并使用GUI?我应该在哪里看到它?如何使用debug()
?我只是把它添加到脚本的开头?在你添加的链接上,我没有找到使用它的指南。是的,如果你在脚本的开头添加这个指令,你会在STDOUT中看到很多输出(启动JMeter的控制台窗口)如果我还在调试项目并使用GUI,我应该在哪里看到它?