RAISE (Snowflake Scripting)

引发异常。

有关异常的详细信息,请参阅 处理异常

备注

Snowflake Scripting 结构仅在 Snowflake Scripting 区块 内有效。

另请参阅:

EXCEPTION

语法

RAISE <exception_name> ;
Copy

其中:

exception_name

要引发的异常的名称。

如果要在异常处理程序中处理异常,并且想要再次引发相同的异常,请忽略此实参。请参阅 在异常处理程序中再次引发相同的异常

示例

这将创建并引发(但不会捕获)一个简单的异常:

CREATE PROCEDURE thrower()
RETURNS VARCHAR
LANGUAGE SQL
AS
$$
    DECLARE
        MY_EXCEPTION EXCEPTION;
    BEGIN
        RAISE MY_EXCEPTION;
    END;
$$
;
Copy

下面是对引发异常的存储过程的调用:

CALL thrower();
Copy

下面是执行引发异常的存储过程的输出:

-20000 (P0001): Uncaught exception of type 'MY_EXCEPTION' on line 5 at position 8
Copy

下一个示例与前面的示例类似,但使用用户为其定义自定义异常编号和异常消息的异常:

    DECLARE
        MY_EXCEPTION EXCEPTION (-20002, 'Raised MY_EXCEPTION.');
Copy

下面是执行引发异常的存储过程的输出:

-20002 (P0001): Uncaught exception of type 'MY_EXCEPTION' on line 7 at position 8 : Raised MY_EXCEPTION.
Copy

有关更多示例,请参阅 处理异常 的示例。

语言: 中文