Использование APEX_ERROR.ADD_ERROR против RAISE_APPLICATION_ERROR - PullRequest
1 голос
/ 18 марта 2020

Может кто-нибудь объяснить мне разницу между использованием APEX_ERROR.ADD_ERROR против RAISE_APPLICATION_ERROR? Каковы некоторые недостатки использования одного против другого, если таковые имеются? Или каковы преимущества? Является ли отрисовка HTML кода внутри сообщения об ошибке единственным преимуществом APEX_ERROR.ADD_ERROR? Похоже, что оба сообщения отображают сообщение об ошибке в верхней части страницы. Единственное отличие, кроме отрисовки HTML, в том, что с помощью APEX_ERROR я могу указать местоположение отображаемой ошибки. Что-то мне не хватает?

1 Ответ

3 голосов
/ 19 марта 2020

Несмотря на то, что результаты выглядят одинаково, это разные вещи с разными целями, поэтому они не имеют никаких преимуществ или недостатков.

APEX_ERROR.add_error - это вызов API APEX , позволяющий программно вставлять сообщения об ошибках в стек для сообщения пользователю.

RAISE_APPLICATION_ERROR - это команда PL / SQL для запуска пользовательского исключения (задним числом это вероятно, надо было бы позвонить RAISE_APPLICATION_EXCEPTION, чтобы избежать путаницы ...). Как и любое исключение PL / SQL, если ваш код PL / SQL не обрабатывает или не подавляет его, APEX просто покажет его пользователю, как и любое другое сообщение об ошибке.

...