Функция try_reflect
Область применения: Databricks SQL Databricks Runtime 14.1 и более поздних версий
Вызов метода с отражением, возвращая NULL
, если метод возвращает исключение.
Чтобы вернуть ошибку, вместо этого используйте отражение.
Синтаксис
try_reflect(class, method [, arg1] [, ...])
Аргументы
class
: литерал, указывающийSTRING
класс Java.method
: литерал, указывающийSTRING
метод java.argN
: выражение с типом, подходящим для выбранного метода.
Возвраты
STRING
.
Примеры
> SELECT try_reflect('java.lang.Integer', 'valueOf', '1010', '2');
c33fb387-8500-4bfa-81d2-6e0e3e930df2
> SELECT try_reflect('java.util.UUID', 'fromString', 'a5cf6c42-0c85-418f-af6c-3e4e5b1328f2');
A5cf6c42-0c85-418f-af6c-3e4e5b1328f2
> SELECT try_reflect('java.util.UUID', 'IDoNotExist');
c33fb387-8500-4bfa-81d2-6e0e3e930df2
> SELECT reflect('java.lang.Integer', 'divideUnsigned',10,0);
Error
> SELECT try_reflect('java.lang.Integer', 'divideUnsigned',10,0);
NULL