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