В вашей процедуре вам нужно поймать исключение. Вы даже можете отправить исключение в таблицу журнала ошибок. Как это весело! Или вы можете просто DBMS_OUTPUT сообщение, но это может быть довольно долго. DBMS_OUTPUT имеет ограничение на размер сообщения. По умолчанию 20000 символов.
Вы даже можете создавать собственные исключения .
Сначала вам понадобится переменная
EM VARCHAR(2000);
Тогда это в конце вашей процедуры.
EXCEPTION WHEN OTHERS THEN
EM := substr(SQLERRM, 1, 2000) ;
ROLLBACK;
INSERT INTO ERROR_LOG(ERROR_TIME, PROC_NAME , ERROR_MSG)
VALUES(SYSTIMESTAMP , 'PKG.get_stuff', EM);
COMMIT;
RETURN NULL;