Я запускаю скрипт Groovy в плане тестирования jMeter, например:
import groovy.sql.*;
import java.sql.*;
import oracle.jdbc.driver.OracleTypes;
def url = vars['url']
def user = vars['user']
def password = vars['password']
def driver = vars['driver']
def sql = Sql.newInstance(url, user, password, driver)
try{
def result = sql.call("{? = call MY_FUNCTION(?,?)}", [Sql.NUMERIC, vars.get('MY_VAR'), 'MY_PARAM']);
} catch (Exception ex) {
log.error "getMsg: " + ex.getMessage();
}
finally{
sql.close();
}
, который, в исключительных случаях, возвращает сообщение об ошибке всего Oracle:
ORA-00001: уникальныйограничение (имя_ограничения) нарушено ... бла-бла
Как я могу получить только конкретный код ошибки Oracle, напр.'ORA-00001' или '00001' или '1' (желательно без регулярного выражения или подстроки)?
Я пытался использовать OracleDatabaseException класс, но Groovy, похоже, не справляется с этим.