Я пытаюсь использовать beanshell try catch scripting, но я борюсь с ним. поэтому несколько вопросов:?JMeter Beanshell Обработка ошибок с использованием try/catch
Почему, когда я пытаюсь запустить следующий код я получаю ошибку, и не подвох заявление «Ошибка в 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 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.
То же самое, я не понимаю, почему Catch не пришел в игру. Также - в чем разница между Catch Exception/Throwable/EvalError и т. Д.?
Так как я могу найти синтаксические ошибки в моем коде BeanShell, когда я пишу мой сценарий? Я попытался добавить исключение ArithmeticException, которое вы сказали, и удалить «;» из int i = 1/0, но исключение ArithmeticException не повышалось – Testerone
Я не знаю, можем ли мы обрабатывать синтаксические ошибки как Исключения. выше код является примером обработки исключений, где вы выполняете 'деление на 0', что вызывает« ArithmeticException ». FYI, никто не использует обработку исключений для целей синтаксических ошибок. пример работает с допустимым синтаксисом (добавьте ';'), поэтому, исправьте синтаксис и попробуйте, вы увидите, что 'Arithmetic Exception' будет отображаться как просто' info' вместо 'BeanShell Error' –