Поделиться через


Функция 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