gpt4 book ai didi

oracle - RAISE_APPLICATION_ERROR 的目的是什么?

转载 作者:行者123 更新时间:2023-12-02 09:58:45 24 4
gpt4 key购买 nike

据我了解,RAISE_APPLICATION_ERROR 关联了一条仅对用户有意义的消息错误。但是用户不能像下面这样写一个类似的异常吗?

DECLARE
e_negative EXCEPTION;


BEGIN
IF v_sid < 0 THEN
RAISE e_negative;
...

EXCEPTION
WHEN e_negative THEN
DBMS_OUTPUT.PUT_LINE ('An id cannot be negative');

最佳答案

raise_application_error 的作用不仅仅是将错误消息打印到控制台(如 dbms_output.put_line 所做的那样)。

首先,这是一个实际错误 - 它使语句失败,终止当前 block 的执行,并传播到外部 block (类似于 Java 中的 throw 或 Python 中的 raise )。

其次,无论控制台如何,它实际上都会返回此错误。 dbms_output 的消息可能会被关闭或忽略,具体取决于客户端。引发应用程序错误允许您返回失败的详细信息,无论客户端如何。

关于oracle - RAISE_APPLICATION_ERROR 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30581975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com