SQL开发人员中的Raise_application_error

时间:2018-04-03 17:30:26

标签: oracle plsql oracle-sqldeveloper raise application-error

我使用的是SQL Developer版本17.2.0.188。当我编译代码时,会导致一些错误,例如: 开始     raise_application_error(-20001,' xxxxx'); 端;

我在脚本输出中看到了错误消息(比如dbms_output),但我希望在新窗口中看到它,类似于声明一些绑定变量时:      variable_name number:=& value; 有人可以告诉我在SQL Developer中我可以更改seetings以使此窗口可见吗?

我在这个版本的SQL开发人员中没有选择权: 工具 - >偏好 - >用户界面 - >选项 - > DSA对话......

最好的问候,Derk。

1 个答案:

答案 0 :(得分:2)

Oracle SQL Developer不能以这种方式工作。错误消息将写入“脚本输出”或“查询结果”面板,具体取决于您的代码是分别通过F5还是F9执行。

PL / SQL编译器警告和错误被写入Log-Compiler面板。

enter image description here

create or replace procedure xyz123 is
begin
 null
end;
/

show errors

此外,如果要查看包含的DBMS_OUTPUT,则SET SERVEROUTPUT ON。它将被写入Script Output面板。

enter image description here

现在,关于引发异常,这仍然发生在PL / SQL块中,我们仍然通过F5(脚本输出)执行它。

Code borrowed from SO answer

DECLARE
    ex_custom EXCEPTION;
    PRAGMA exception_init ( ex_custom,-20001 );
BEGIN
    raise_application_error(
        -20001,
        'This is a custom error'
    );
EXCEPTION
    WHEN ex_custom THEN
        dbms_output.put_line(sqlerrm);
END;

用F5执行,然后......

enter image description here