【发布时间】:2021-07-29 08:15:38
【问题描述】:
为什么我在 javascript 中的雪花程序会产生错误并且没有被 catch 块捕获?
我有一个像这样创建的非常简单的过程,而不是进入 catch 并记录返回 JAVASCRIPT UNCAUGHT 异常的错误。
有人可以帮忙吗?代码如下:
CREATE OR REPLACE PROCEDURE TEST()
RETURNS VARCHAR
LANGUAGE JAVASCRIPT
AS
$$
var CorrectSQL =` SELECT COL1, COL2 FROm TABLE_1 LIMIT 10`;
var InCorrectSQL =` SELE COL1, COL2 FROm TABLE 2 LIMIT 10`; // SYNTAX ERROR SELE
var InsertIntoErrorLog =` INSERT INTO ERROR_LOG VALUES ('ERROR')`;
try
{
snowflake.execute({sqlText:CorrectSQL});
snowflake.execute({sqlText:InCorrectSQL});
}
catch(err)
{
snowflake.execute({sqlText: InsertIntoErrorLog});
return err;
}
$$
【问题讨论】:
-
你有一个错字:
snowflake.excute。它会进入 catch 块,然后在那里出现错误。 -
嗨@Barmar 我在真实程序中输入错误这是正确的snowflake.execute
-
snowflake.execute是否返回承诺? -
如果我像这样更正我的 InCorrectSQL ` SELE COL1, COL2 FROm TABLE 2 LIMIT 10` 那么它可以工作
标签: javascript sql snowflake-cloud-data-platform