Raise_application_error в SQL-разработчике

Я использую SQL Developer версии 17.2.0.188. Когда я компилирую код, который вызывает какую-то ошибку, например, begin lift_application_error(-20001, 'xxxxx'); конец;

Я вижу сообщение об ошибке в выходных данных скрипта (например, dbms_output), но я хотел бы видеть его в новом окне, аналогичном, когда вы объявляете некоторую переменную связывания: номер_переменного:: & значение; Может кто-нибудь сказать мне, где в SQL Developer можно изменить настройки, чтобы сделать это окно видимым?

У меня нет варианта в этой версии разработчика SQL: Инструменты -> Настройки -> Пользовательский интерфейс -> Параметры -> Диалоги DSA...

С наилучшими пожеланиями, Дерк.

1 ответ

Oracle SQL Developer не работает таким образом. Сообщения об ошибках записываются на панели "Вывод скрипта" или "Результат запроса", в зависимости от того, был ли ваш код выполнен с помощью F5 или F9 соответственно.

Предупреждения и ошибки компилятора PL/SQL записываются на панель Log - Compiler.

введите описание изображения здесь

create or replace procedure xyz123 is
begin
 null
end;
/

show errors

Кроме того, если вы хотите, чтобы DBMS_OUTPUT был включен, установите SET SERVEROUTPUT ON. Он будет записан на панель "Вывод скрипта".

введите описание изображения здесь

Теперь о вызове исключения это все еще происходит в блоке PL/SQL, и мы все равно выполняем это через F5 (Script Output.)

( Код заимствован из SO ответа)

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 и...

введите описание изображения здесь

Другие вопросы по тегам