try_reflect
函数
适用于: Databricks SQL Databricks Runtime 14.1 及更高版本
调用具有反射的方法,如果该方法返回异常,则返回 NULL
。
若要返回错误,请使用 reflect。
语法
try_reflect(class, method [, arg1] [, ...])
参数
class
:指定 java 类的STRING
字面量。method
:指定 java 方法的STRING
字面量。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